PHP未被apache2解释(在Debian上)

e3bfsja2  于 2023-02-05  发布在  Apache
关注(0)|答案(4)|浏览(152)

我目前正遭受与我的apache服务器的一个问题.它将不解释php后我升级我的系统与

apt-get update
    apt-get upgrade
    apt-get dist-upgrade

顺便说一下,我使用的是Debian(Linux版本2.6.32-042stab090.3)。
不管怎样,我一直在各种网站上寻找解决方案。他们大多说,在我的http.conf/apache2.conf中缺少一些东西,没有包括php5解释器解释的php文件。他们建议我应该添加

<FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>

我的configfile和其他变体,但他们都没有工作。是的,我重新启动apache 2服务器后,编辑配置文件。他们还说,正则表达式的php5.conf可能是错误的,并导致解释器,这不关心真实的的php文件或什么。也有人建议我应该运行

sudo apt-get purge libapache2-mod-php5
    sudo apt-get remove libapache2-mod-php5

这样php的配置文件就可以正确地重建了,但是因为我运气不好,它也显示了一个错误:

Err http://ftp.us.debian.org/debian/ testing/main libapache2-mod-php5filter amd64 5.6.0~rc2+dfsg-1
      404  Not Found [IP: 128.61.240.89 80]
    Unable to correct missing packages.
    E: Failed to fetch http://ftp.us.debian.org/debian/pool/main/p/php5/libapache2-mod-php5filter_5.6.0~rc2+dfsg-1_amd64.deb  404  Not Found [IP: 128.61.240.89 80]

然后又有一个建议说我应该检查apache 2的error.log,但是它只显示对我没有帮助的消息。

[Sun Jul 20 01:19:27.468164 2014] [mpm_prefork:notice] [pid 31052] AH00163: Apache/2.4.9 (Debian) PHP/5.6.0RC2 configured -- resuming normal operations
    [Sun Jul 20 01:19:27.468204 2014] [core:notice] [pid 31052] AH00094: Command line: '/usr/sbin/apache2'
    [Sun Jul 20 16:22:25.052630 2014] [mpm_prefork:notice] [pid 31052] AH00169: caught SIGTERM, shutting down
dtcbnfnu

dtcbnfnu1#

从wheezy升级到杰西后,我也遇到了同样的问题,除了他们从apache 2.2升级到2.4,导致了一系列的不兼容和错误之外,php也不再被解释了。
但就像他们说的,最大的秘密就在眼前,下面是我如何修复它(孩子们容易!)
我正在用简短的脚本验证php的可用性

<?
 phpinfo();
?>

经过几个小时的脑细胞损伤和变老,我把它换成了:

<?php
 phpinfo();
?>

一切都很顺利。
所以这是一个PHP的问题,而不是APACHE.这是因为杰西默认禁用了short标签.查看你的php.ini(/etc/php5/apache2/php.ini)获取“short_open_tag”参数,并最终将其设置为On,或者在脚本中使用完整标记(<?php).我知道这是一个仅用于向后兼容的参数,但仍然有一段艰难的时间来寻找它。

guykilcj

guykilcj2#

您应该已经编辑了php.ini文件并搜索short_open_tag = Off(将Off更改为On),然后重新启动apache2服务。
干杯,

zsohkypk

zsohkypk3#

通过在apache2.conf中将LogLevel warn更改为LogLevel debug,使错误日志更加详细。
我希望你的错误日志会更有帮助。

e5nqia27

e5nqia274#

安装libapache 2-mod-php软件包

sudo apt-get update
sudo apt-get install libapache2-mod-php

在Apache中启用php模块

sudo a2enmod phpx.y  (eg: php7.4)

重新启动apache服务

sudo systemctl restart apache2

相关问题