Infocurci - programmatore Php Roma
Infocurci - programmatore Php Roma
"faster than 98% of all tested websites" (tools.pingdom.com) - 100/100 Google PageSpeed Insights - Benvenuti :)

Php : Dove sono i file log di apache?

Quando ci si trova davanti una pagina bianca o un generico errore 500, diventa essenziale avere una traccia dell'errore generato. A questo proposito ci vengono in aiuto i log di Apache, che vanno però prima rintracciati.

Php

Un errore generico registrato nel web server (errore 500) ha in realtà una causa ben precisa. Il problema è che l'output inviato al browser -una semplice pagina testuale stile web 1.0- è sempre lo stesso, per cui per uno sviluppatore non è semplice trovare il problema.

Gli errori vengono  memorizzati da Apache dentro un file di log, la cui posizione dipende però dal sistema in cui ci troviamo:

su macchine RHEL / Red Hat / CentOS / Fedora Linux il file si chiama di solito "error_log" e si trova dentro  /var/log/httpd/;
su macchine Debian / Ubuntu Linux il file si chiama "error.log" dentro /var/log/apache2;
su machine FreeBSD  dovremmo trovare il file error.log dentro /var/log/httpd.

Se vogliamo evitare di procedere per tentativi, possiamo aprire la  shell del server e digitare questo comando

locate error.log

che ci fornirà l'elenco di tutti i files 'error.log' sulla nostra macchina. La ricerca funziona come una "%like%" , per cui restituisce anche risultati come "mws_error.log.2019-11-27".

Nel caso ci arrivassero troppi risultati, possiamo risolvere digitando

grep ErrorLog /usr/local/etc/apache22/httpd.conf

oppure

grep ErrorLog /etc/apache2/apache2.conf

oppure

grep ErrorLog /etc/httpd/conf/httpd.conf

Uno dei tre comandi (anche questo dipende dalla macchina che abbiamo davanti) restituisce la porzione del file di configurazione di Apache in cui è configurato il nome del file di log.

Tenete presente che il percorso potrebbe essere assoluto:

 /var/log/apache2/error.log

oppure relativo:

logs/error.log

(senza lo "/" iniziale). In questo caso, significa che il percorso va considerato dalla cartella in cui ci troviamo. Se ad esempio abbiamo trovato il nostro apache2.conf, siamo nella cartella /etc/apache2 e quindi i log saranno dentro /etc/apache2/logs/error.log.