Når en PHP program krasjer , stopper det henrettelse i midten av behandlingen på grunn av en uventet feil. PHP krasjer kan være alvorlig, fordi de kan la data delvis bearbeidet eller oppdatert og brått lukke åpne filer når ulykken inntreffer. Årsaken til et PHP- krasj kan være en feil i PHP script eller kan skyldes dårlige data , snarere enn en programmeringsfeil . Det er flere ting du kan gjøre når PHP krasjer å finne årsaken til ulykken . Deretter kan du enten fikse feil PHP script eller inkludere ekstra skript som forutser og feller feil forårsaket av dårlige data . Instruksjoner
en
Gjennomgå webserver loggfilen . Finn filen , som under Apache er vanligvis plassert på /var/log/apache2/error.log . Vise den siste delen av feilloggen til skjermen ved å skrive : en
hale /var/log/apache2/error.log
2
gjennomgang feilmeldinger i loggfilen . Åpne PHP script i et redigeringsprogram og gjennomgå koden som korresponderer med linje nummer sitert i feilmeldingen . Se etter feil i logikken som kan ha forårsaket ulykken skal skje. Undersøke minst 10 linjer over og under linjen nummer sitert i feil, ettersom tolken kan rapportere en feil på en annen linje fra linjen hvor det faktisk inneholdt.
3
Turn feilrapportering tilbake på slik at du kan interaktivt debugge scriptet uten å måtte gjennomgå loggfilen etter hvert trinn . Bruk et redigeringsprogram til å endre PHP script . Kommentere ut en linje som har " error_reporting " statement og legge til en ny linje under den med følgende uttalelse : en
error_reporting ( E_ALL ) ;
4
Sett debugging koden inn i PHP script slik at du enklere kan spore opp feil som er forårsaket av dårlige eller uventede data . Lag en funksjon for å skrive feilsøkingsmeldingene til skjermen og lage en boolsk variabel som lar deg globalt slå feilrapportering av og på . Sett debugging uttalelser i PHP-koden . For eksempel legge til følgende kode til PHP script : en
$ debug = true; funksjon debug ( $ msg ) { global $ debug , hvis retur ; echo "
* ( $ debug ! ) ** $ msg *** < /p > "; }
Sett debug funksjon rundt der feilen oppstod . For eksempel skrive : en
debug ( "x = $ x og y = $ y etter behandlingen av første data element ");
Endre $ debug variabelen til false når du ikke lenger ønsker å skrive debugging meldinger til skjermen.
5
Bruk " prøve /fange" uttalelser eller " if-else " logikk å felle feil som kan være forårsaket av uventede forhold som dårlige data . Trap feil som kan forårsake en krasj selv når data skal aldri inneholde verdier som får ulykken å skje . For eksempel inn følgende for å unngå en " dele på null" feil selv om en null er ikke en gyldig verdi for variabel : en
$ gjennomsnittlig = 0; if ( $ teller = 0 ! ) {$ gjennomsnittlig = $ totalt /$ teller ;}
6
få hjelp av andre utviklere som kanskje ikke er så kjent med koden . Noen ganger årsaken til feilen kan være en antakelse du gjør på grunn av fortrolighet med den måten programmet fungerer . Når du har funnet årsaken til ulykken , brainstorm med andre utviklere om andre krasj som kunne være forårsaket av lignende logiske feil eller data betingelser . Gå gjennom hele PHP script og fikse andre områder av programmet som kan være utsatt for lignende krasj.