apache2无法在Debian stretch上执行php脚本

tkqqtvp1  于 2022-11-16  发布在  Apache
关注(0)|答案(2)|浏览(141)

最近我把Debian服务器从杰西升级到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+ deb 9 u1(客户端)
apache 2启用了模块php7.0
php5已卸载并清除
完整的phpinfo();http://92.51.132.110/info.php中提供
php错误日志未显示任何错误。
有人知道为什么会发生这种情况,以及如何修复它吗?这可能与从MySQL到Mariadb的过渡有关吗?

7kqas0il

7kqas0il1#

我也遇到过这个问题。你可以用这些命令修复这个问题。你需要安装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

你可以检查。

ca1c2owp

ca1c2owp2#

/etc/apache 2/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和启用模块,并重新启动完成了工作!谢谢!

相关问题