почему мои php-файлы отображаются в виде обычного текста? [дубликат]


На этот вопрос уже есть ответ здесь:

Я некоторое время писал php-приложения с использованием php в wamp. Теперь я устанавливаю PHP и apache отдельно на свой рабочий компьютер. Я установил PHP 5 и последнюю версию apache. Я захожу на localhost и вижу, что это работает! сейчас я добавьте файл под названием test.php который отображает:

<?php 
    phpinfo();
?>

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

Большое спасибо

 62
Author: Charles, 2010-08-24

7 answers

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

AddType application/x-httpd-php .php

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

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

 63
Author: Kris, 2010-08-24 11:00:36

Вам следует установить библиотеку php5 для apache

Для debian и ubuntu: apt-get install libapache2-mod-php5

И перезапустите apache service apache2 restart

 65
Author: dav, 2016-07-22 06:20:36

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

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

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

AddType application/x-httpd-php .php

Более подробную информацию смотрите в документации.

 13
Author: Piskvor, 2017-04-10 16:58:45

Еще одна причина (не для этого случая, но, возможно, это сэкономит кому-то нервы) заключается в том, что в php 5.5 короткие открытые теги <? phpinfo(); ?> по умолчанию отключены. Таким образом, интерпретатор php будет обрабатывать код в коротких тегах как обычный текст. В предыдущих версиях php эта функция была включена по умолчанию. Так что новое поведение может быть немного загадочным.

 12
Author: Roman Bekkiev, 2013-11-04 13:14:33

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

 6
Author: user3604332, 2014-05-05 12:50:41

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

 3
Author: Satyanarayana, 2016-07-07 15:02:43

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

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

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

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

 2
Author: Henrik Sommerland, 2015-07-27 12:29:36