IIS zeigt keine detaillierten PHP-Fehler an - zeigt stattdessen den Serverfehler 500 an

9

Ich bin es gewohnt, Websites von Apache aus bereitzustellen, bin aber jetzt gezwungen, einen IIS-Server zu verwenden.

Einige meiner PHP-Seiten geben den Fehler 500 zurück und ich kann nicht debuggen, da IIS die Fehlermeldungen unterdrückt. Ich habe es ini_set('display_errors',1);im Code versucht , aber ohne Erfolg.

Auf einigen Websites werden Fehler angezeigt, jedoch nicht auf der Website, die ich debuggen möchte. Ich denke also nicht, dass es sich um eine globale PHP-Einstellung handelt, sondern eher um die Websiteeinstellungen für diese Website.

Ich kann keine klare Antwort finden, wie die Anzeige von PHP-Fehlern aktiviert werden kann.

Ich habe diesen Link gefunden , bin mir aber nicht sicher, wo ich " system.webServer-> httpErrors " finden kann.

Wie kann ich die Anzeige von Fehlern in PHP unter IIS aktivieren?

Andy
quelle

Antworten:

6

Wie wäre es stattdessen, sie zu protokollieren?

Bearbeiten Sie php.ini und setzen Sie

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

Und entweder

error_log = syslog um sich im Windows-Ereignisprotokoll anzumelden, oder

error_log = location/of/logfile in einer Datei protokollieren.

adaptr
quelle
Ich habe error_reporting, log_errorsund error_logalle auf diese Weise konfiguriert, aber es ist nach wie vor keine Fehler für die Joomla - Website anmelden. Diese Site wurde von einem Apache-Server kopiert. Ich habe die .htaccessRegeln in IIS 7.5 importiert . aber leider scheitert es immer noch. Haben Sie zufällig eine Idee, was ich sonst noch untersuchen muss?
Mike Perrenoud
5

Vorausgesetzt, Sie haben die richtigen Einstellungen in Ihrer php.ini-Datei

  1. Wählen Sie Ihre Website im IIS-Manager aus
  2. Doppelklicken Sie rechts auf das Symbol Fehlerseiten
  3. Klicken Sie ganz rechts unter "Aktionen" auf den Link "Funktionseinstellungen bearbeiten"
  4. Wählen Sie im angezeigten Popup das Optionsfeld "Detaillierte Fehler"
  5. Aktualisieren Sie Ihre PHP-Seite, um detaillierte Fehler anzuzeigen

Vielen Dank an den letzten Kommentar auf dieser Seite

AnotherLongUsername
quelle
0

Ich fand heraus, dass es eine gute Idee ist, mit InternetExplorer zum Testen auf eine von IIS gehostete Seite zuzugreifen .

In meinem Fall waren die PHP-Fehlerprotokolle sauber - ich habe keine Ahnung von dort.

Beim Herstellen einer Verbindung mit Firefox / Chrome wurde ein nicht ausdrucksstarker "500 - interner Serverfehler" angezeigt: Geben Sie hier die Bildbeschreibung ein

... aber eine nützlichere Fehlermeldung ("HTTP-Fehler 500.0 - Interner Serverfehler C: \ PHP \ php-cgi.exe - Der FastCGI-Prozess wurde unerwartet beendet") bei Verwendung von InternetExplorer: Geben Sie hier die Bildbeschreibung ein

Versuchen Sie möglicherweise auch, eine Verbindung von http: // localhost auf dem Server selbst herzustellen .

eli
quelle