Файл php 7 загружается вместо выполнения [дубликата]

Недавно я настроил php7 на Ubuntu 14.04, следуя блогу http://www.zimuel.it/install-php-7, и я успешно установил его, как в блоге. но когда вы пытаетесь запустить файл php (/var/www/test.php), он загружается вместо выполнения. Я понятия не имею, какую конфигурацию я пропустил. и когда я ввел локальный хост в браузере, он получил ответ «работает».


person sameer.nuna    schedule 12.12.2015    source источник
comment
Похоже на вашу конфигурацию Apache.   -  person Darragh Enright    schedule 12.12.2015
comment
Какие теги PHP используются в вашем файле PHP? Если у него есть теги ‹% или ‹script language=PHP›, они больше не поддерживаются.   -  person Andrea    schedule 13.12.2015


Ответы (4)


(Редактировать) У меня была аналогичная проблема, которая сначала выглядела так, будто Apache случайным образом показывал мне правильные данные и иногда предлагал вариант загрузки. Выяснилось, что это были совершенно разные процессы, которые конкурировали за ответ на порт 80. Убийство всего живого решило эту проблему, и на самом деле это имеет очень мало общего с реальной проблемой. Итак, приведенные ниже строки наконец-то решили для меня проблему с загрузкой.

LoadModule php7_module        modules/libphp7.so
AddHandler php7-script .php
AddType application/x-httpd-php-source .phps
AddHandler application/x-httpd-php .phps
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
person Tomas Tornevall    schedule 30.12.2015

У меня была такая же проблема на моем Ubuntu 18.04. Я исправил проблему, выполнив следующие шаги.

Шаг 1: Проверьте, присутствует ли модуль php7 в /etc/apache2/mods-available. Если есть такие файлы, как php7.conf и php7.load, выполните шаг 3, иначе перейдите к следующему шагу.

Шаг 2: Скачайте модуль php7 для apache. У меня был установлен php7.2, поэтому я установил модуль, выполнив sudo apt-get install libapache2-mod-php7.2. Вы можете заменить версию php в своей команде на ту, которую вы установили.

Шаг 3: Включите модуль Apache. sudo a2enmod php7.2 в моем случае.

Шаг 4: Перезапустите сервер Apache, выполнив sudo service apache2 restart.

person SUB0DH    schedule 22.11.2018

В вашей конфигурации apache в /etc/apache2/sites-available попробуйте удалить эти строки с комментариями:

#RemoveHandler .php
#RemoveHandler .php7.0
#php_admin_value engine Off
person TomoMiha    schedule 11.01.2019

Вам нужно включить PHP под Apache, например:

судо a2dismod php5

перезагрузка службы sudo apache2

sudo cp /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php7.conf

перезагрузка службы sudo apache2

Откуда: http://www.hashbangcode.com/blog/compiling-and-installing-php7-ubuntu

person user2182349    schedule 12.12.2015
comment
Я уже сделал это. а также показывает правильную версию на терминале с помощью команды php-src/sapi/cli/php -v. но не работает с браузером. когда я проверил error.log, он показывает [Вс, 13 декабря 13:23:43.132843 2015] [mpm_prefork:notice] [pid 4857] AH00169: поймал SIGTERM, завершение работы [Вс, 13 декабря 13:23:44.234203 2015] [mpm_prefork:notice ] [pid 11020] AH00163: Apache/2.4.10 (Ubuntu) настроен -- возобновление нормальной работы [Вс, 13 декабря 13:23:44.234324 2015] [core:notice] [pid 11020] AH00094: Командная строка: '/usr/ sbin/apache2' - person sameer.nuna; 13.12.2015
comment
Я не уверен, хочу ли я попробовать это, может быть, поэтому нет баллов. Можете ли вы дать краткое объяснение, прежде чем перейти к URL-адресу, чтобы пользователи могли лучше его увидеть, например. что делает a2dismod, будет ли это работать для 7.2, даже если вы пройдете php5 . У меня нет /etc/apache, использующего centos, но есть httpd etc/httpd/modules, и я не вижу этот файл - person blamb; 22.10.2018
comment
a2dismod — это способ Ubuntu отключить модули Apache. - person user2182349; 23.10.2018
comment
Если вам нужна помощь с PHP 7.2 под CentOS, вы должны создать новый вопрос и включить дополнительную информацию. - person user2182349; 23.10.2018