Как заставить PHP отображать страницу ошибки 500 от Apache, когда он встречает ошибку, вместо пустой страницы?

У меня есть директивы apache, настроенные для пользовательских документов ошибок для 404, 403 и т.д., а также 500. Однако PHP, встретив фатальную ошибку, выводит пустую страницу вместо ответа apache 500.

Мне не нужно отображать детали ошибки или что-то подобное, так как в настоящее время они правильно регистрируются в apache error_logs, поэтому я не думаю, что это как-то связано с error_reporting или display_errors, оба из которых установлены правильно.

Есть несколько похожих вопросов здесь на SO, но я не нашел ответа, который делает то, что мне нужно. По сути, в случае чего-то вроде синтаксической ошибки, я хочу видеть страницу ошибки apache 500, а не пустую страницу. Это не то, что можно отловить и обработать в PHP, поскольку синтаксические ошибки не поддаются отлову.

Похоже, что это было исправлено в php 5.2.4, как видно здесь: http://www.mail-archive.com/internals@lists.php.net/msg28557.html

Однако мы используем PHP 5.2.17, и обновление на данный момент не представляется возможным. Есть ли у кого-нибудь решения / обходные пути, которые могут сработать, чтобы вызвать 500 ошибку в apache для любой синтаксической/фатальной ошибки PHP?

8
задан pnuts 19 November 2015 в 01:45
поделиться