Подтвердить что ты не робот

Почему мои файлы PHP отображаются в виде обычного текста?

Я некоторое время писал PHP-приложения с использованием PHP в WAMP. Теперь я устанавливаю PHP и HTTP-сервер Apache отдельно на моем рабочем компьютере. Я установил PHP 5 и последнюю версию Apache. Я иду на localhost и вижу, что это работает!

Теперь я добавляю файл с именем test.php который отображает:

<?php
    phpinfo();
?>

Но в браузере он просто отображает простой текст. Есть ли где-то, что я явно сказал ему использовать PHP 5?

4b9b3361

Ответ 1

Вам нужно будет добавить это в конфигурацию вашего сервера:

AddType application/x-httpd-php .php

Это предполагает, что вы правильно установили PHP, что может быть не так, поскольку он не работает там, где он обычно работает сразу после установки.

Вполне возможно, что вам также потребуется добавить файл php.so/.dll в вашу конфигурацию Apache с LoadModule директивы LoadModule (обычно в httpd.conf).

Ответ 2

Вам следует установить библиотеку PHP 5 для Apache.

Для Debian и Ubuntu:

apt-get install libapache2-mod-php5

И перезапустите Apache:

service apache2 restart

Ответ 3

Вам необходимо настроить Apache (веб-сервер) для обработки сценариев PHP как PHP. Проверьте конфигурацию Apache. Вам необходимо загрузить модуль (путь может отличаться в вашей системе):

LoadModule php5_module "c:/php/php5apache.dll"

И вам также нужно указать Apache, что обрабатывать с помощью PHP:

AddType application/x-httpd-php .php

Смотрите документацию для более подробной информации.

Ответ 4

Еще одна причина (не для этого случая, но, возможно, это кого-то сэкономит) - в PHP 5.5 короткие открытые теги <? phpinfo();?> <? phpinfo();?> <? phpinfo();?> по умолчанию отключены.

Таким образом, интерпретатор PHP будет обрабатывать код внутри коротких тегов как обычный текст. В предыдущих версиях PHP эта функция была включена по умолчанию. Так что новое поведение может быть немного загадочным.

Ответ 5

Возможно, вы также, как и я, установили php-cgi перед установкой Apache, и при этом он неправильно настроил Apache для запуска PHP, полностью удалив PHP и переустановив, по-видимому, исправил мою проблему.

Ответ 6

Вам нужно будет добавить обработчики в 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

Ответ 7

Используете ли вы режим userdir?

В этом случае дело в том, что PHP5, кажется, отключает запуск сценариев из этого места по умолчанию, и вам нужно прокомментировать следующие строки:

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

в /etc/apache2/mods-enabled/php5.conf (в системе ubuntu)