Come eseguire il debug PHP crash

June 5

Come eseguire il debug PHP crash


Quando un programma PHP si blocca, si arresta l'esecuzione nel mezzo di lavorazione a causa di un errore imprevisto. crash di PHP possono essere gravi, perché possono lasciare i dati parzialmente trasformati o non aggiornati e bruscamente chiudere i file aperti quando si verifica l'incidente. La causa di un incidente PHP può essere un errore nello script PHP o potrebbe essere a causa di dati errati, piuttosto che un errore di programmazione. Ci sono diverse cose che si possono fare quando si blocca PHP per identificare la causa dello schianto. Quindi è possibile correggere script PHP corretto o includere uno script in più che anticipa e trappole errori causati da dati non validi.

istruzione

1 Esaminare il file di log del server web. Individuare il file, che sotto Apache si trova in genere /var/log/apache2/error.log. Visualizzare la parte più recente del log degli errori sullo schermo digitando:

coda /var/log/apache2/error.log

2 Esaminare i messaggi di errore nel file di log. Aprire lo script PHP in un editor e rivedere il codice che corrisponde al numero di riga citato nel messaggio di errore. Cercare errori di logica che potrebbero aver causato l'incidente si verifichi. Esaminate almeno 10 linee sopra e sotto il numero di riga citata l'errore, poiché l'interprete potrebbe segnalare un errore su una linea diversa dalla linea dove è effettivamente contenuta.

3 Girare la segnalazione degli errori di nuovo in modo da poter eseguire il debug in modo interattivo lo script, senza dover esaminare il file di registro dopo ogni passaggio. Utilizzare un editor per modificare lo script PHP. Commentare una riga che contiene l'istruzione "error_reporting" e aggiungere una nuova riga sotto di essa con la seguente dichiarazione:

error_reporting (E_ALL);

4 Inserisci il codice di debug nello script PHP in modo da poter più facilmente rintracciare gli errori che sono causati da dati errati o imprevisti. Creare una funzione per scrivere i messaggi di debug per lo schermo e creare una variabile booleana che consente di globalmente errore disattivare il rilevamento e lo spegnimento. Inserire le dichiarazioni di debug nel codice PHP. Ad esempio, aggiungere il seguente codice allo script PHP:

$ Debug = true;
funzione di debug ($ msg) {
$ Di debug globale;
if (! $ debug) tornare;
echo "<p>

$ msg </ p>";
}

Inserire la funzione di debug attorno cui si è verificato l'errore. Ad esempio, digitare:

debug ( "x = $ x e y = $ y dopo l'elaborazione del primo elemento di dati");

Modificare la variabile di debug $ false quando non si desidera più di scrivere messaggi di debug sullo schermo.

5 Utilizzare "try / catch" dichiarazioni o la logica "if-else" per intercettare gli errori che potrebbero essere causati da condizioni impreviste, come dati non validi. intercettare gli errori che possono causare un crash, anche quando i dati non devono mai contenere i valori che potrebbero causare l'incidente si verifichi. Ad esempio, digitare quanto segue per evitare una "divisione per zero" errore anche se uno zero non è un valore valido per la variabile:

$ Media = 0;
if ($ count! = 0) {
$ Media $ = totale / $ count;
}

6 Mobilitare l'aiuto di colleghi sviluppatori che potrebbero non essere come familiarità con il codice. A volte la causa di un errore può essere un presupposto si effettua a causa della vostra familiarità con il modo in cui il programma funziona. Dopo aver trovato la causa dello schianto, brainstorming con altri sviluppatori su altri incidenti che potrebbero essere causati da errori di logica simili o condizioni di dati. Rivedere l'intero script PHP e correggere altre aree del programma che potrebbe essere vulnerabile a crash simili.