Я очень новичок в этом 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?