apache2没有在Debian上执行php脚本

时间:2018-07-19 10:17:58

标签: php linux apache 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的过渡有关吗?

2 个答案:

答案 0 :(得分:0)

我也有这个问题。您可以使用以下命令解决此问题。您需要安装libapache2 mod并启用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

您可以检查。

答案 1 :(得分:-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并启用模块并重新启动完成了任务!谢谢!