-1

最近我将我的 Debian 服务器从 Jessie 升级到了 Stretch(Debian 9.5)。一切都很顺利,除了php 生成的网站在 web 浏览器请求时没有执行。至于实例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 的过渡有关吗?

4

2 回答 2

1

我也有这个问题。您可以使用这些命令解决此问题。您需要安装 libapache2 mod 并启用 apache PHP 模式。

安装:

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

核实:

a2query -m php7.x

加载:

sudo a2enmod php7.x

重启阿帕奇:

sudo service apache2 restart

你可以检查一下。

于 2020-05-12T17:56:23.017 回答
1

解决了!这是由于 /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 并启用模块并重新启动完成了这项工作!谢谢你!

于 2018-07-19T11:20:54.840 回答