2014-04-25 13 views

risposta

-1

aprire il file php.ini Controllare il percorso contro error_log

+0

questo non dovrebbe hanno ottenuto downvoted, perché questo è corretto utilizzo come previsto. Le persone dovrebbero usare gli strumenti forniti nel modo in cui erano previsti e girare la propria soluzione solo se è inaccessibile o non fornita. Ci sono troppe persone su questo sito che presumono che solo perché non ha risolto il loro problema specifico (e tutti i relativi problemi ma non segnalati) che è automaticamente sbagliato. Questo non è sbagliato, e se non funziona, allora il tuo server è impostato male, che è il tuo vero problema. – mopsyd

+0

Aggiungerei anche se i registri possono anche essere definiti in apache.conf o vhost.conf. – mopsyd

5

Citazione from the documentation: stringa

error_log

Nome del file in cui gli errori di script dovrebbero essere registrati. Il file dovrebbe essere scrivibile dall'utente del server web. Se viene utilizzato il syslog del valore speciale , gli errori vengono inviati al registratore di sistema . Su Unix, questo significa syslog (3) e su Windows NT significa il registro eventi . Il logger di sistema non è supportato su Windows 95. Vedi anche: syslog(). Se questa direttiva non viene impostata, gli errori vengono inviati al registratore di errori SAPI . Ad esempio, è un log di errore in Apache o stderr nella CLI .

Così, quando il valore non è impostato (che è il default) verrà inviato al registratore errore di genitore, che è apache (se eseguito tramite esso) o stderr se si esegue lo script da riga di comando .

Se si utilizza lo script tramite apache, sarà necessario consultare il log degli errori di apache, in genere in /var/log/apache o /var/log/httpd, a seconda della distribuzione. È possibile controllare il file di configurazione di Apache per la posizione esatta.

Edit:

Ho appena notato ho letto male la tua domanda, penso che vuoi dire error_log ha il valore effettivo error_log?

Ho appena fatto alcuni test. Quando imposto error_log su un valore come php_errors.log, PHP scrive ancora i messaggi di errore nel log degli errori di apache. Si comporta come se il valore fosse vuoto. Quando imposto il valore su un percorso completo (ad esempio /tmp/php_errors.log), esso scrive gli errori nel file specificato.

Quindi immagino che nel tuo caso scriva gli errori nel file di registro degli errori di Apache.

Naturalmente è possibile impostare il proprio file di log aggiungerà

ini_set("error_log", "/tmp/php_errors.log"); 

per i file PHP in cui è necessario (se non è stato disattivato da un amministratore).

+0

non c'è '/ apache' in'/var/log'. ma c'è un 'error_log' in'/usr/local/apache/logs' ma sembra che non mostri alcun errore PHP. quando eseguo la mia pagina PHP sto ricevendo una schermata vuota e voglio sapere l'errore di sintassi. 'display_errors' è disattivato in' php.ini'. – Ryan

+0

dovresti essere in grado di attivare 'display_errors' nel tuo file php stesso. Basta aggiungere 'ini_set (" display_errors ", 1);' all'inizio. –

+0

splendida idea amico – Ryan

0

Quando il valore dice semplicemente error_log (o error_log = error_log nel php.ini file), questo significa che gli errori sarà scritto in un file chiamato error_log nella stessa directory in cui si verifica l'errore.

Quindi, se avete un file chiamato index.php in /home/utente/public_html/ che genera un errore, l'errore verrà scritto: /home/utente/public_html/error_log.

Se si dispone di file chiamato resize.php in /home/utente/public_html/admin/images/ che genera un errore, poi gli errori verranno scritti: /home/utente/public_html/admin/images/error_log


Fonte: Display and log errors for PHP