Frage

Ich habe mich gefragt, ob jemand ein Verfahren weiß Apache zu konfigurieren zurückfallen eine statische HTML-Seite zurückkehrt, sollte es (Apache) die Lage sein, zu bestimmen, dass PHP gestorben ist? Dies würde den Entwickler eine elegante Lösung bietet eine Fehlerseite und nicht (worst case scenario) den Quellcode der PHP-Seite zur Anzeige, die ausgeführt werden sollten.

Danke.

War es hilfreich?

Lösung

Der Code PHP Quelle wird nur angezeigt, wenn Apache nicht korrekt PHP-Dateien verarbeiten konfiguriert ist. Das heißt, wenn ein richtiger Handler nicht definiert wurde.

Ein Fehler, was gezeigt wird, kann auf php.ini konfiguriert werden, vor allem der display_errors variabel. Das sollte ausgeschaltet und log_errors zu auf auf einer Produktionsumgebung eingestellt werden.

Wenn PHP tatsächlich stirbt, Apache wird den entsprechenden HTTP-Statuscode zurück (in der Regel 500) mit der Seite durch die Anweisung Errordocument definiert. Wenn es nicht gestorben ist, bekam aber in einer Schleife stecken, gibt es nicht viel Sie tun können, soweit ich weiß.

Sie können eine andere Seite für verschiedene Fehlercodes angeben.

Andere Tipps

Ich würde davon ausgehen, dass dies in der Regel in einem 500-Fehler führt, und Sie können apaches 500 Handler konfigurieren Sie eine statische Seite zeigen:

Errordocument 500 /500error.html

Sie können auch über die Fehlerbehandlungsroutinen lesen apaches Dokumentation Website

Das eigentliche Problem ist, dass PHP fatale Fehler Apache nicht dazu führen, einen 500-Code zurück. Fehler außer für E_FATAL und E_PARSE können Sie gehandhabt werden jedoch wie mit set_error_handler() .

Es gibt zwei Möglichkeiten, PHP und Apache zu verwenden.

1. Install PHP as an Apache module: this way the PHP execution is a thread inside the apache process. So if PHP execution fails, then Apache process fails too. there is no fallback strategy.

2. Install PHP as a CGI script handler: this way Apache will start a new PHP process for each request. If the PHP execution fails, then Apache will know that, and there might be a way to handle the error.

, unabhängig von der Art und Weise Sie PHP installieren, wenn PHP Ausführung fehlschlägt Sie Fehler in der php.ini Datei verarbeiten kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top