Error.log PHP su Aruba

Su Aruba non c’è la possibilità di accedere al file di log degli errori, ho cercato in lungo e in largo e non ho trovato nulla.

Probabilmente dovevo leggere meglio perchè in un secondo tempo ho visto che configurando il php.ini di Aruba si può attivare il log degli errori completo ma sinceramente non ci ho provato perchè ho trovato una soluzione molto più comoda ed efficace.

Il problema lo si risolve a runtime dicendo all’interprete php che la funzione di gestione degli errori che normalmente viene usata va sostituita con una scritta dall’utente e questa semplicissima funzione memorizza di dati in una cartella a vostra scelta accessibile in modalità FTP come il resto del sito.

Vediamo come si fa

Quindi basta controllare periodicamente la presenza di questo file per sapere se si sono verificati errori. Inoltre non bisogna inserire ogni volta credenziali su Aruba e cliccare fra le varie funzioni, quasi tutti i programmi di File Transfer permettono di memorizzare i dati di accesso quindi si entra con un solo click.

Se il vostro programma non lo supporta potete utilizzare Filezilla, io uso la versione portable e mi trovo benissimo, utilizzando il [quick connect] basta inserire i parametri di accesso una sola volta e poi dalla tendina vi collegato con un solo click.

Il sorgente che risolve il problema è questo

function mio_log_errori($errno, $errstr, $errfile, $errline) {
    $amka_testo= date('d/m/Y H:i:s'). ' errore: ' . $errno . ' ' . $errstr .' alla riga ' . $errline . ' del programma ' . $errfile;
    $file = fopen("amk_errori.log", "a+");
    fwrite($file, $amka_testo . "\n");
    fflush($file);
    fclose($file);
}
error_reporting(E_ALL);
set_error_handler("mio_log_errori");    

Le prime righe sono quelle della funzione per la gestione degli errori, si limitano a formattare un testo con i dati ricevuti e poi scrivere su un file.

Le ultime due righe vanno messe ad inizio programma e servono, la prima a dire che vogliamo avere la segnalazione di tutti gli errori, la seconda che la funzione che gestisce gli errori deve essere mio_log_errori, nome che naturalmente potete cambiare per vostra comodità.

Così come potete cambiare la formattazione degli errori evidenziando quelle informazioni che a voi sembrano più importanti.

Vi ricordo che per accedere al vostro sito su Aruba dovete autorizzare il vostro IP dal pannello di controllo, io fortunatamente ho un IP statico e quindi l’ho fatto una volta e non devo preoccuparmene più.

Devo dire che comunque con Aruba mi trovo bene, considerato il costo contenuto è un buon servizio e una buona assistenza.

Maurizio

1 commento su “Error.log PHP su Aruba”

Rispondi a Adriano Eller Annulla risposta