Apache2 не выполняет скрипты php на Debian stretch

Недавно я обновил свой сервер Debian с Jessie до Stretch (Debian 9.5). Все прошло хорошо, за исключением того, что сгенерированные php веб-сайты не выполняются по запросу веб-браузера. Что касается экземпляров http://92.51.132.110/~mlakova/hotglue/hotglue/index.php, где я получаю в качестве ответа исходный код php, а не сгенерированный html. Если я нахожусь на сервере по ssh и выполняю тот же сценарий с php index.php, я получаю сгенерированный html без ошибок.

php --version - это PHP 7.0.30-0 + deb9u1 (cli)

В apache2 включен модуль php7.0.

php5 удален и очищен

Полный phpinfo(); доступен в http://92.51.132.110/info.php

Журнал ошибок php не показывает никаких ошибок.

У кого-нибудь есть сведения о том, почему это происходит и как это можно исправить? Может быть, это связано с переходом с mysql на mariadb?

Возможно решение показано здесь stackoverflow.com/questions/35928184/php-in-userdir-not-work‌ing

SynapseIndia 19.07.2018 12:38

действительно; как указано в ответах! Это произошло из-за того, что в /etc/apache2/mods-available/php7.0.conf "выполнение сценариев PHP в пользовательских каталогах отключено по умолчанию". Итак, комментируя эту директиву; отключение модуля apache php7.0; перезапуск apache и включение модуля и перезапуск сделали свою работу! благодарю вас!

andre castro 19.07.2018 13:14
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
3 292
2

Ответы 2

Решено! Это произошло из-за того, что в /etc/apache2/mods-available/php7.0.conf были следующие строки, которые требовали только комментариев.

# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
 <Directory /home/*/public_html>
     php_admin_flag engine Off
 </Directory>
</IfModule>

После остался только вопрос об отключении модуля apache php7.0; перезапуск apache и включение модуля и перезапуск сделали свою работу! благодарю вас!

У меня тоже была эта пробема. Вы можете решить эту проблему с помощью этих команд. Вам необходимо установить мод libapache2 и включить режим apache PHP.

Установить:

sudo apt-get install apache2 php7.x libapache2-mod-php7.x 

Проверять:

a2query -m php7.x

Нагрузка:

sudo a2enmod php7.x

Перезагрузите apache:

sudo service apache2 restart

И вы можете проверить.

Другие вопросы по теме