Apache 无法运行某些 PHP 脚本

Apache 无法运行某些 PHP 脚本

我对这个东西很陌生php-fpm,但我决定要尝试一下。我最近迁移到了 Centos 8,并随之迁移到了 Apache 2.4。

我有许多使用 PHP 的虚拟主机,它们运行良好,直到我将 更改为mod_mpm_preforkmod_mpm_event这导致许多网站崩溃。

php_一个站点,我通过查找并销毁文件中对值的任何引用成功使其正常运行.htaccess,因为 PHP 不再作为模块运行。我认为其他站点也应该如此。

在所有其他网站上,我都会收到 500 服务器错误。即使我尝试了一个简单的脚本,例如:

Hello
<?php
    die('goodbye');

我所得到的只是一个屏幕和一个 500 服务器错误。

当我查看文件时error_log,没有发现任何有用的信息:

获取 /index.php HTTP/1.1” 500 - “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Firefox/78.0”

当我尝试访问非 PHP 文件时,它运行良好。

据我所知,与设置相关的配置设置位于conf.d/php.conf

<IfModule !mod_php5.c>
    <IfModule !mod_php7.c>
        SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
        <FilesMatch \.(php|phar)$>
            SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
        </FilesMatch>
    </IfModule>
</IfModule>

如果我注释掉这一SetHandler行,页面就可以工作,当然不需要 PHP。我真的不知道如何检查这一行是否正确。

我确信修复很简单,但是我如何才能找到 500 错误的原因,以及没有运行 PHP 脚本可能是什么情况?

相关内容