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

Apache с PHP-FPM перехватывает ошибки и не отображает мой удобный вывод страницы ошибок PHP в среде разработки

Вокруг этого так много статики, что трудно найти ответ, который действительно применим, поэтому приношу свои извинения, если на это есть ответ, я просто не смог его найти.

Моя ситуация такова, что я хочу отображать ошибки нашего приложения на странице, когда они происходят ... в нашей среде РАЗВИТИЯ.... Мне не нужно, чтобы мне говорили отправлять их только в журналы, это огромная трата времени во время разработки и далеко не в таком формате, чтобы читать их из журналов. Мы, конечно, отключаем это в продакшене.

Мои ошибки ЗАПИСЫВАЮТСЯ, это не проблема, проблема в том, что они не отображаются до того, как 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