最近我已将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的过渡有关吗?
答案 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并启用模块并重新启动完成了任务!谢谢!