Ошибка синтаксического анализа PHP на веб-сайте на базе Drupal
-
20-09-2019 - |
Вопрос
Я работаю над веб-сайтом на базе Drupal, который отлично работает на удаленном сервере (стек LAMP), а также на всех других системах разработчиков (стек WAMP).Но когда я пытаюсь запустить его, код PHP выводится в браузер вместе с HTML, а не анализируется, как должно.
Из журналов ошибок я могу получить очень мало информации.Сам PHP установлен правильно, и чистая установка Drupal работает.Только код, который я проверяю из нашего репозитория, идет не так, и только в моей собственной системе.
Красивые URL-адреса также не работают, и мне приходится использовать формат /q=xxx, чтобы вообще попасть на страницы.Красивые URL-адреса просто приводят к ошибке синтаксического анализа в странных местах, хотя там не должно быть никакой ошибки синтаксического анализа.Повторяю: код работает хорошо везде, кроме моей системы.
Есть ли место, где я могу начать искать решение этой проблемы?
.п
Решение
Если вы видите код PHP в html, значит, интерпретатор не вызывается.PHP либо не установлен, либо неправильно настроен.Используете ли вы короткие теги?Если да, включена ли у вас опция коротких тегов в php.ini?
Самый простой способ проверить это — просмотреть все переменные и попробовать простой PHP-скрипт вне Drupal.Поместите следующее в скрипт и запустите его.Это может дать вам некоторое представление о том, что происходит.
<?php
echo 'Hello World!';
?>
<?
echo 'Hello World!';
?>
Другие советы
Если вы создали узел, а затем использовали код PHP в качестве его тела, убедитесь, что для формата ввода установлено значение «Код PHP»;в противном случае код PHP будет анализироваться как текст, а <?php
?>
теги сбежали.
Это объясняет, почему вы их видите.
Если это не так, то я бы проверил то, что сообщил Майк Б, или файлы с расширением .php
не считаются файлами PHP.