2011-07-14 8 views
8

Mam dyrektywy apache skonfigurowane dla niestandardowych dokumentów błędów dla 404, 403, itp., A także 500. Jednak PHP, po napotkaniu fatalnego błędu, wyświetla pustą stronę zamiast wyzwalać odpowiedź Apache 500.Co zrobić, aby PHP wyświetliło stronę błędu Apache 500, gdy napotka błąd zamiast pustej strony?

Nie muszę wyświetlać szczegółów błędów ani niczego w tym stylu, ponieważ są one obecnie poprawnie rejestrowane w apache error_logs, więc nie sądzę, że ma to coś wspólnego z error_reporting lub display_errors, które są ustawione prawidłowo.

Jest kilka podobnych pytań tutaj na SO, ale nie znalazłem odpowiedzi, która robi to, czego potrzebuję. Zasadniczo, w przypadku czegoś takiego jak błąd składni, chcę zobaczyć stronę błędu Apache 500, a NIE pustą stronę. To nie jest coś, co można przechwycić i obsłużyć w PHP, ponieważ błędy składniowe są nie do pobrania.

Wydaje się, że zostały poprawione/ustalony w PHP 5.2.4, jak widać tutaj: http://www.mail-archive.com/[email protected]/msg28557.html

jednak używamy PHP 5.2.17 i uaktualnienie nie jest możliwe w tym czasie. Czy ktokolwiek ma jakieś rozwiązania/obejścia, które mogą działać, aby wywołać 500 błędów w apache dla jakiejkolwiek składni PHP/błędu krytycznego?

+0

PHP 5.2.17 został wydany * po * PHP 5.2.4. Czy sprawdziłeś swoje php.ini? –

+0

Hmm nie, tbh Nie mam. Czy wiesz, która opcja w php.ini kontroluje to? –

+0

@KevinJhangiani, znalazłeś jakieś rozwiązanie? –

Odpowiedz

1

Nie wiem, czy to działa: zarejestruj się pod numerem shutdown handler i wyświetl odpowiednią stronę. Program obsługi zamykania powinien zostać wywołany, gdy wystąpi błąd krytyczny. Upewnij się, że zarejestrujesz opiekuna na górze skryptu.

+0

To zadziała w wielu sytuacjach i jest rozwiązaniem, które najczęściej znajdowałem, ale nie zadziała w przypadku błędów składniowych (i innych nieprzenośnych błędów), ponieważ kod nie zostanie w ogóle wykonany. Szukam sposobu, aby php zachowywał się podobnie do perla, java, itp. I służył do poprawnego błędu apache 500, a nie do wywołania php. –

Powiązane problemy