Назад | Перейти на главную страницу

Apache не запускает некоторые скрипты PHP

Я очень новичок в этом php-fpm вещь, но я решил, что мне нужно вникнуть в это. Недавно я перешел на Centos 8, а вместе с ним и на Apache 2.4.

У меня есть несколько виртуальных хостов, использующих PHP, которые работали хорошо, пока я не перешел с mod_mpm_prefork к mod_mpm_event. Это сломало ряд сайтов.

Один сайт, я успешно заработал, ища и уничтожая любые ссылки на php_ ценности в моем .htaccess файл, так как PHP больше не работает как модуль. Я думал, что то же самое и с остальными.

На всех других сайтах я получаю ошибку сервера 500. Даже когда я пробую тривиальный сценарий, например:

Hello
<?php
    die('goodbye');

все, что я получаю, - это экран и ошибка сервера 500.

Когда я смотрю в error_log файла, ничего полезного не вижу:

GET /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 line страницы работают, без PHP конечно. Я действительно не знаю, как проверить правильность этой строки.

Я уверен, что исправить это просто, но как я могу найти причину ошибки 500 и что может быть в случае невыполнения сценария PHP?