Debugging php și de a găsi erori în codul

Am fost obosit de a cere tot gunoiul. Deci, acum vă spun câteva modalități de a găsi rapid o eroare în codul.

eroare de sintaxă este, de asemenea, exprimat în tot felul de frază misterioasă:

CEVA neașteptate, CEVA așteaptă TO_DRUGOE ESCHO_CHEGO sau nimic pe linia N - sugerează să ne că au nevoie de ceva TO_DRUGOE ceva împreună. De obicei, această linie N-1. De exemplu, un suport sau uita pentru a pune punct și virgulă.

end neașteptate $ - probabil a uitat să pună bretele de închidere.

În general, cuvântul tradus ca o surpriză neașteptată. Deci, dacă-l vezi - știi, ceva nu este pus acolo, sau nu a terminat. E ca și cum ar fi trebuit să dea afară salariu și dat un sac de mere. Ar fi neașteptat „sac de mere“ :)

Apelarea funcției nedefinita - încercați să aducă ceva inexistent. Poate scrie prinf (); în schimb printf (); Ei bine, toate astea.

Dacă dintr-o dată nu funcționează, dar nu există nici o ieșire, apoi setați parametrul error_reporing = E_ALL; Acesta va afișa toate erorile, inclusiv notice'y.

În cazul în care chiar și cu erorile incluse nu va funcționa deloc - atunci este nevoie pentru jurnalele de fumat Apache și PHP.

Din nou, trebuie să ne mai întâi de toate error_reporting rândul său, cu E_ALL. În caz contrar, tipul de notificare: nedefinit index, variabila nedefinita nu va fi afișat și veți fi o lungă perioadă de timp să se gândească, „Ei bine, ce sa întâmplat?“.

În continuare. Dacă aveți de ieșire nu este ceea ce doriți - a concluzionat variabila de la fiecare pas. Și nu doar prin imprimare / ecou, ​​și prin var_dump (). pe care tu și tipul variabilei și toate umplutura ei se vor arăta.

Eu folosesc, în general, versiunea mea de var_dump () „a:

* Afișează informații despre o variabilă

* @param $ variabila de text pentru ieșire