Вокруг этого так много статики, что трудно найти ответ, который действительно применим, поэтому приношу свои извинения, если на это есть ответ, я просто не смог его найти.
Моя ситуация такова, что я хочу отображать ошибки нашего приложения на странице, когда они происходят ... в нашей среде РАЗВИТИЯ.... Мне не нужно, чтобы мне говорили отправлять их только в журналы, это огромная трата времени во время разработки и далеко не в таком формате, чтобы читать их из журналов. Мы, конечно, отключаем это в продакшене.
Мои ошибки ЗАПИСЫВАЮТСЯ, это не проблема, проблема в том, что они не отображаются до того, как Apache перенаправит их с кодом ответа 503, скорее всего, из-за того, что PHP / FPM умирает с фатальной ошибкой, которую мы не поймали должным образом .
До перехода на PHP-FPM никаких проблем не отображалось, у нас есть стандартные настройки в /etc/php.ini
...
error_reporting = E_ALL
error_display_errors = On
display_startup_errors = On
log_errors = On
И мой обработчик исключений / ошибок работал отлично, я мог получить доступ к деталям трассировки стека, дополнительным мета и т. Д., Однако теперь, когда у меня включен PHP-FPM, Apache, похоже, захватывает возвращаемый статус http 503 и перенаправляет к общему сообщению об ошибке apache. Я пробовал использовать ...
errordocument 503 /error.php?...
... но это теряет состояние, поэтому я не могу получить все подробности, которые я обычно получил бы в shutdown
обработчик я обычно использую. Я добавил следующее в определение пула FPM ...
php_admin_flag[display_errors] = On
php_admin_flag[log_errors] = On
... но они не возымели никакого эффекта. php_info()
показывает, что как основные, так и локальные значения работают должным образом, поэтому это не ошибка конфигурации или ошибочный включаемый файл.
Что я делаю не так, как я могу запретить apache пересылать на собственный обработчик ошибок и просто отображать вывод PHP-FPM и, соответственно, мой собственный обработчик ошибок?
Apache: 2.4.37-21
PHP/FPM: 7.3.5-5