Ошибка синтаксического анализа PHP на веб-сайте на базе Drupal

StackOverflow https://stackoverflow.com/questions/1939891

Вопрос

Я работаю над веб-сайтом на базе 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top