IIS non visualizza errori PHP dettagliati: mostra invece l'errore 500 del server


9

Sono abituato a servire siti da Apache, ma ora sono costretto a utilizzare un server IIS.

Alcune delle mie pagine PHP stanno restituendo l'errore 500 e non riesco a eseguire il debug perché IIS sta eliminando i messaggi di errore. Ho provato ini_set('display_errors',1);nel codice ma senza risultati.

In alcuni siti vengono visualizzati errori, ma non quello in particolare che voglio eseguire il debug, quindi non penso che sia un'impostazione PHP globale, ma piuttosto qualcosa a che fare con le impostazioni del sito per quel sito.

Non riesco a trovare una risposta chiara su come abilitare la visualizzazione degli errori PHP.

Ho trovato questo link ma non sono sicuro dove trovare " system.webServer-> httpErrors ".

Come posso abilitare la visualizzazione degli errori in PHP in IIS?

Risposte:


6

Che ne dici di registrarli invece?

Modifica php.ini e imposta

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

E nemmeno

error_log = syslog per accedere al registro eventi di Windows o

error_log = location/of/logfile per accedere a un file.


Ho error_reporting, log_errorse error_logtutto configurato in questo modo, ma non è ancora la registrazione errori per il sito Joomla. Questo sito è stato copiato da un server Apache. Ho importato le .htaccessregole in IIS 7.5; ma ahimè, sta ancora fallendo. Per caso hai idea di cos'altro potrei avere bisogno di esaminare?
Mike Perrenoud,

5

Supponendo che tu abbia tutte le giuste impostazioni nel tuo file php.ini

  1. Seleziona il tuo sito Web in Gestione IIS
  2. A destra, fai doppio clic sull'icona Pagine di errore
  3. All'estrema destra, sotto "Azioni", fai clic sul link "Modifica impostazioni funzionalità"
  4. Al pop-up che appare, seleziona il pulsante di opzione "Errori dettagliati"
  5. Aggiorna la tua pagina PHP per vedere errori dettagliati

Grazie all'ultimo commento su questa pagina


0

Ho scoperto che è una buona idea accedere a una pagina ospitata da IIS con InternetExplorer per i test.

Nel mio caso il php-error-log era pulito - da qui non ho avuto idea.

Ho ottenuto un semplice "500 - errore interno del server" non espressivo durante la connessione con Firefox / Chrome: inserisci qui la descrizione dell'immagine

... ma un messaggio di errore più usefult ("Errore HTTP 500.0 - Errore interno del server C: \ PHP \ php-cgi.exe - Il processo FastCGI è terminato inaspettatamente") quando si utilizza InternetExplorer: inserisci qui la descrizione dell'immagine

Forse prova anche a connetterti da http: // localhost sul server stesso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.