Wir führen PHP 5.2.5 auf einem IIS 7-Server aus und haben Probleme, PHP-Fehler sichtbar zu machen ... Im Moment, wenn wir einen PHP-Fehler haben, sendet der Server einen 500-Fehler mit der Meldung "Die Seite kann nicht sein wird angezeigt, weil ein interner Serverfehler aufgetreten ist. "
Dies könnte eine gute Einstellung für Produktionswebsites sein, ist aber auf einem Entwicklungsserver ziemlich ärgerlich ... ;-)
Ich habe versucht php.ini
, die Anzeige von Fehlern auf dem Bildschirm zu konfigurieren und sie in einem bestimmten Ordner zu protokollieren, aber es scheint, dass der Server alle Fehler zuvor abfängt und sie durch PHP verhindert und verarbeitet ...
Weiß jemand, was wir tun müssen, damit IIS PHP-Fehler auf dem Bildschirm anzeigt? Alle Links, Tipps oder Tutorials zu diesem Thema wäre dankbar!
log_errors=1
,error_reporting=-1
,log_errors_max_len=0
.ini_set("display_errors", "on");
Füge diese Zeilen in die PHP-Datei ein.Antworten:
Haben Sie zur Überprüfung die Protokollierung auf
error_reporting = E_ALL
unddisplay_errors = On
in Ihrem Server eingestelltphp.ini
? In der Regel reicht dies aus, um diese Fehler in IIS 7 anzuzeigen.Schauen Sie sich als Nächstes Ihre IIS-Einstellungen an, da möglicherweise nur lokale Fehlermeldungen angezeigt werden. Im IIS 7-Konfigurationseditor befindet sich dies unter system.webServer-> httpErrors. Sie müssen errorMode von DetailedLocalOnly in Detailed ändern. Offensichtlich bedeutet dies jetzt, dass jeder, der auf Ihrer Website surft, den Fehler sehen kann.
Wenn Sie sie lokal halten möchten, können Sie sich alternativ mit Remotedesktop beim Server anmelden und die App von dort aus ausführen, sofern dies möglich ist.
quelle
system.webServer
mit meinem Blut hervor und fügen Sie den Hinweis hinzu: "Ja, es gibt Combo".Ich wollte nur hinzufügen, dass "existingResponse" auf "PassThrough" gesetzt werden sollte. Ohne diese zusätzliche Einstellung habe ich keine echten Fehlermeldungen erhalten.
quelle
Sie können dies problemlos mit der IIS-Manager-GUI tun. Wählen Sie Ihre Site aus und doppelklicken Sie auf Fehlerseiten. Klicken Sie dann auf "Funktionseinstellungen bearbeiten ..." und wählen Sie die Option "Detaillierte Fehler" anstelle der Standardeinstellung "Detaillierte Fehler für lokale Anforderungen und benutzerdefinierte Fehlerseiten für Remoteanforderungen". Voilà, so einfach ist das!
quelle
Ich musste in die Einstellungen auf dem Webserver in die PHP-Konfiguration gehen und dort gibt es eine Einstellung für die Fehlermeldung und ist standardmäßig auf Produktion eingestellt. Musste es auch nach Änderung der php.ini und des Vorschlags hier auf Entwicklung umstellen. Ich benutze iis 7.5 auf 2008 R2.
quelle