Wie bekomme ich PHP, um die 500-Fehler-Seite von Apache anzuzeigen, wenn ein Fehler statt einer leeren Seite auftritt?

8

Ich habe Apache-Anweisungen für benutzerdefinierte Fehlerdokumente für 404, 403 usw. sowie 500 eingerichtet. Wenn PHP jedoch einen schwerwiegenden Fehler entdeckt, zeigt es eine leere Seite an, statt die Apache 500-Antwort auszulösen.

>

Ich muss die Fehlerdetails oder ähnliches nicht anzeigen, da sie aktuell korrekt in apache error_logs geloggt sind. Daher glaube ich nicht, dass es etwas mit error_reporting oder display_errors zu tun hat, die beide richtig eingestellt sind .

Es gibt einige ähnliche Fragen hier auf SO, aber habe keine Antwort gefunden, die tut, was ich brauche. Im Grunde, im Falle von etwas wie einem Syntaxfehler, möchte ich die Apache 500 Fehlerseite sehen, KEINE leere Seite. Dies ist nicht etwas, das in PHP abgefangen und gehandhabt werden kann, da Syntaxfehler unzugänglich sind.

Dies scheint in PHP 5.2.4 gepatcht / repariert worden zu sein, wie hier zu sehen ist: Ссылка

Allerdings verwenden wir PHP 5.2.17, und ein Upgrade ist derzeit nicht möglich. Hat jemand irgendwelche Lösungen / Workarounds, die funktionieren könnten, um 500 Fehler im Apache für irgendeine PHP-Syntax / einen fatalen Fehler auszulösen?

    
Kevin Jhangiani 14.07.2011, 02:15
quelle

1 Antwort

1

Nicht sicher, ob das funktioniert: Registrieren Sie einen Shutdown-Handler und zeigen Sie den passende Seite. Der Shutdown-Handler sollte immer dann aufgerufen werden, wenn ein schwerwiegender Fehler auftritt. Stellen Sie sicher, dass Sie den Handler oben auf Ihrem Skript registrieren.

    
tweber 14.07.2011 06:37
quelle

Tags und Links