2010-08-30 3 views
9

Non riesco a vedere errori PHP. Ho provato ogni trucco che riesco a trovare per attivare la segnalazione degli errori, ma niente funziona.Impossibile ottenere il PHP per segnalare errori

display_errors è attivo e error_logging è attivo, ma quando visualizzo una pagina con un errore, ottengo una pagina vuota.

/var/log/php.log non esiste.

se si imposta un file di registro locale, non viene creato nulla.

Il file che ho testato con è

<?php 
ini_set('display_errors',1); 
error_reporting(E_ALL|E_STRICT); 
ini_set('error_log','script_errors.log'); 
ini_set('log_errors','On'); 


$a= 

phpinfo(); 
?> 

altre idee?

risposta

3

Probabilmente è necessario impostarlo in .htaccess, httpd.conf o php.ini (a seconda del server o società di hosting). Molto probabilmente hai un errore di analisi, il che significa che il tuo script non arriva mai al punto in cui può attivare la segnalazione degli errori.

+2

Ho provato il tuo codice e funziona sulla riga di comando, mi chiedo se hai una configurazione che si rifiuta di mostrare l'output di phpinfo() (per ragioni di sicurezza) e vedi una pagina valida, sebbene ancora vuota. Guarda a cosa è impostato "disable_functions", se puoi. – Hans

+0

Esiste un modo per forzare php a segnalare errori di analisi? – Nathan

+2

@Nathan hai selezionato questa risposta b/c è stato utile o per motivi diversi? Sto avendo lo stesso problema e come non lo trovo troppo utile. Hans, forse se hai menzionato come verificare se c'è un errore di analisi. – puk

1

Hai provato a modificare il file ini effettivo invece di provare a modificarlo in fase di esecuzione? Puoi anche provare a utilizzare ini_get('display_errors'); per vedere se la tua modifica ha avuto effetto. Se nessuno di questi lavori direi che la tua installazione è difettosa o molto limitata.

+0

ho provato a fissare lì, e riferito come su, ma non c'era alcun effetto. – Nathan

0
  1. Run phpinfo() come la prima cosa nello script, prima di provare uno qualsiasi dei ini_set opzioni. Se il tuo host ha quelle funzioni inique disabilitate/limitate, molto probabilmente non arriverai mai a phpinfo.
  2. L'ID utente sul quale il server web è in esecuzione dispone delle autorizzazioni di scrittura nella directory da cui viene eseguito questo script? Potrebbe non riuscire ad aprire il file di log di test e uccidere lo script in questo modo.

Una volta ottenuto l'output phpinfo(), sarà possibile vedere se/dove PHP sta registrando errori. Potrebbe andare nel error_log generale del server, o in qualche altra posizione interamente.

0

ho risolto questo problema con il mio sito web tubazioni cpanel-> php config -> errore di visualizzazione su