PHP-код возвращается вместо выполненного
У меня L-Ubuntu 11.04. Я установил Apache2 и пытаюсь смоделировать сервер в моей локальной файловой системе, перейдя в localhost
в браузере.
Проблема в том, что я не могу заставить PHP работать на локальном хосте. Код PHP просто печатается в браузере (вместо того, чтобы выполняться и печатать результат).
libapache2-mod-php5
установлена и последняя версия.- Модуль Apache php5 включен.
Как я могу заставить PHP работать на localhost?
3 ответа
Файл конфигурации /etc/apache2/mods-available/php5.conf
контролирует, какие файлы Apache распознает как php-скрипты (на основе их расширений).
По умолчанию (в PHP 5.3.2) файл содержит следующий код:
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
Это влияет на файлы со следующими расширениями:
.php
.php3
.phtml
Из нашего обсуждения в чате я знаю, что ваши файлы имеют html
расширение. Сервер был настроен на лечение .html
файлы как файлы php, но ваш домашний компьютер - нет. Это оставляет вам два варианта:
Переименуй свой
.html
файлы, содержащие код php для одного из вышеуказанных расширений.Заменить линию
<FilesMatch "\.ph(p3?|tml)$">
в вашем
php5.conf
от<FilesMatch "\.(ph(p3?|tml)|html?)$">
и перезагрузите apache, выполнив следующую команду:
sudo service apache2 reload
В дополнение к ранее упомянутым расширениям новая конфигурация также влияет на:
.htm
.html
Apache работает?
при открытии localhost вы должны увидеть "Это работает!" стр. если Apache не работает, вы можете использовать /etc/init.d/apache2 start
Возможно модуль php не включен. Включить
a2enmod php5
после
/etc/init.d/apache2 reload
Ты можешь использовать
tail -f /var/log/apache2/error.log
чтобы увидеть журналы ошибок.
Вы должны установить модуль php.
apt-get install libapache2-mod-php5