почему мои php-файлы отображаются в виде обычного текста? [дубликат]
На этот вопрос уже есть ответ здесь:
Я некоторое время писал php-приложения с использованием php в wamp. Теперь я устанавливаю PHP и apache отдельно на свой рабочий компьютер. Я установил PHP 5 и последнюю версию apache. Я захожу на localhost и вижу, что это работает! сейчас я добавьте файл под названием test.php который отображает:
<?php
phpinfo();
?>
Но в браузере он просто отображает обычный текст. Есть ли где-нибудь, где я должен явно указать ему использовать PHP5?
Большое спасибо
7 answers
Вам нужно будет добавить это в конфигурацию вашего сервера:
AddType application/x-httpd-php .php
Это предполагает, что вы правильно установили php, что может быть не так, поскольку он не работает там, где обычно работает сразу после установки.
Вполне возможно, что вам также придется добавить php so/dll в конфигурацию apache с помощью директивы LoadModule
(обычно в httpd.conf
)
Вам следует установить библиотеку php5 для apache
Для debian и ubuntu:
apt-get install libapache2-mod-php5
И перезапустите apache
service apache2 restart
Вам необходимо настроить Apache (веб-сервер) для обработки PHP-скриптов как PHP. Проверьте конфигурацию Apache, вам нужно загрузить модуль (путь может отличаться в вашей системе):
LoadModule php5_module "c:/php/php5apache.dll"
И вам также нужно сообщить Apache, что обрабатывать с помощью PHP:
AddType application/x-httpd-php .php
Еще одна причина (не для этого случая, но, возможно, это сэкономит кому-то нервы) заключается в том, что в php 5.5 короткие открытые теги <? phpinfo(); ?>
по умолчанию отключены. Таким образом, интерпретатор php будет обрабатывать код в коротких тегах как обычный текст. В предыдущих версиях php эта функция была включена по умолчанию. Так что новое поведение может быть немного загадочным.
Возможно, вы также, как и я, установили php-cgi до установки Apache, и при этом он неправильно настраивает Apache для запуска PHP, полное удаление PHP и переустановка, казалось, решили мою проблему.
Вам нужно будет добавить обработчики в Apache для обработки php-кода.
Редактировать командой sudo vi/etc/httpd/conf/httpd.conf
Добавьте эти два обработчика
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
В положении, указанном ниже
<IfModule mime_module>
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
--Add Here--
</IfModule>
Для получения более подробной информации об обработчиках AddType
Http://httpd.apache.org/docs/2.2/mod/mod_mime.html
Используете ли вы мод userdir?
В этом случае дело в том, что PHP5, похоже, по умолчанию отключает запуск сценариев из этого местоположения, и вам нужно прокомментировать следующие строки:
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
В /etc/apache2/mods-enabled/php5.conf
(в системе ubuntu)