Table of Contents
Datorn går långsamt?
I den här guiden kommer vi alla att identifiera några potentiella orsaker som sannolikt kommer att orsaka felsökning i PHP-manualen, och tillsammans med påpeka några sätt att åtgärda irritationen. g.Felhantering i PHP har blivit nästan densamma som felhantering i alla innehållsspråk. PHP standardfelhantering upptäcker filnamnsinlägg och feltyp. PHP-felhanteringsmetoder: tar metoden die ()-metoden. Anpassad felhantering.
g.
Felen som just nu använder PHP är mycket enkla. Felmeddelande för fildomännamn, radEtt beskrivande fel skickas till ditt nuvarande webbläsarnummer och meddelande inte.
PHP-felhantering
Hur hanterar vi fel i PHP?
Enkla upphörande () deklarationer.Anpassade fel och felutlösare.Rapportera den perfekta buggen.
När du skriver skript med applikationer är hantering av webbmisstag ett allvarligt problem.Del. Om din kod har blivit felkodvalideringsfel kan ditt program se utoprofessionellt och du kan vara hemma hälso- och säkerhetsrisk.
Den här handledningen innehåller några av de vanligaste felkontrollteknikerna i PHP.
- Enkla die ()-satser
- Anpassade fel orsakar också fel.
- Felmeddelande
Grundläggande felhantering: Använda funktionen Die ()
Huvudexemplet visar ett enkelt skript som öppnar en annan textfil:
Om filen inte längre finns kan ditt företag få det korrekta felmeddelandet:
För att förhindra att användaren blir ett fel som det ovan, låt oss göra en oberoende verifiering.filen fanns innan vi säkerställde den:
Om filen inte är vad som är nu, kommer du att få ett felmeddelande som detta värdefullt:
Ovanstående kod är ofta mer erfaren än den föregående sedan Vad är hananvänder underbar felhanteringsmekanism för att stoppa filmprogramvaran efter ett fel.
Men att bara stoppa ett verkligt skript är inte alltid lösningen på en viss marknadsplats. TaKontrollera PHP organiska funktionshantering för dilemman.
Skapa din egen felhanterare
Det är lätt att skapa ett eget fel. Vi skapar bara en unik produktFunktion som ofta kan anropas när 1 fel uppstår i PHP.
Du måste ha den här funktionen för att vara väl placerad för att kontrollera åtminstone några parametrar (felNivå utöver felmeddelande) kan återigen acceptera upp till nio funktioner (valfritt: fil, radnummer och fel i bedömningssammanhang):
Syntax
parametrar | Beskrivning |
---|---|
Felnivå | Krävs. Indikerar fel på rapportnivå med hänsyn till ett anpassat fel. Måste vara ett numeriskt värde. Se tabellen nedan för Blackjack för praktiska felnivåer |
Felmeddelande | Krävs. Felmeddelande identifierat för modifierade buggar |
Felfil | Valfritt. Indikerar ditt filnamn där felet inträffade |
Felsträng | Valfritt. Bestämmer typraden där felet inträffade |
error_context | Valfritt. Anger vanligtvis den array som skapas från varje variabel och dess hastigheter i övningen när ett fel inträffade |
Felrapporteringsnivåer
Dessa nivåer av felmeddelanden representerar olika typer på grund av fel som sig-felet kan användas för:
Ovanstående kod är en enkel felhanteringsfunktion. Om det finns en mardröm så är det detfår ett intervallfel och ett nytt bra felmeddelande. Den kan visa felhöjden ochSkicka ett meddelande och avsluta skriptet.
Nu när vi har skapat felhanteringen som fungerar bra måste vi bestämma när vi ska implementera den.borde fungera.
Definiera felhantering
PHP-standardhanterarfel är ett inbyggt ägarfel. Vi kan varaJag kommer att köra funktionen kopplad till en runaway-felhanterare ett tagscen ry.
Du kan ändra någon form av felhantering så att den endast används avsedd för vissa fel,Detta gör att skriptet kan hantera vissa fel annorlunda. Dock iFör det här exemplet kommer vi definitivt att använda flera av våra anpassade felhanterare av alla fel:
Eftersom alla vill att vår tullfunktion ska lösa problem är de vad set_error_handler ()
Endast en specifik parameter är väsentlig, en andra parameter kan läggas till för att rita felnivån.
Exempel
Kontrollera felhändelsen genom att försöka mata ut en obefintlig variabel:
Utdata från föregående kod bör se ut så här:
Utlösaren misslyckades
I ett område där manuspersoner kan skriva in innehåll är det användbart att formulera fel omEn ogiltig inmatning gjordes. I PHP görs detta nästan säkert med huvudfunktionen trigger_error ()
.
Exempel
Det här exemplet genererar ett fel om det varierande “testet” är större än “1”:
Utdata från den tidigare koden bör se ut så här:
Felet kan orsakas i Var som helst i du ser, skriptet, om användaren vill, och för hela överföringenI den andra parametern kan du ange vilket fel som skapas av lagret.
- E_USER_ERROR är ett allvarligt användargenererat inlärningsfel. Fel som kanske inte uppstår under dataräddning. Skriptkörningen stoppades
- E_USER_WARNING har blivit en körtidsvarning som genereras av ett oseriöst konto. Körandet av ett specifikt skript kommer inte att sluta
- E_USER_NOTICE som standard. Användaren fick förloppsmeddelande. Under inspelningen avslöjades något som kunde vara ett fel, men som oftast kunde hända om rätt skript kördes normalt.
Exempel
Datorn går långsamt?
ASR Pro är den ultimata lösningen för dina PC-reparationsbehov! Den diagnostiserar och reparerar inte bara olika Windows-problem snabbt och säkert, utan den ökar också systemprestandan, optimerar minnet, förbättrar säkerheten och finjusterar din dator för maximal tillförlitlighet. Så varför vänta? Kom igång idag!
I det här exemplet höjs e_user_warning verkligen när testvariabeln verkligen är störresom “1”. När E_USER_WARNING inträffar tillämpar vårt kommando en anpassad felhanterare och avslutar sedan hur skriptet:
Ovanstående systemutgång bör se ut så här:
Nu har vi lärt oss var vi skapar vår felhanterare och hur du kör den,Låt oss ta en titt på felhantering.
Felloggning
PHP skickar fellogg som standard för att underlätta internetloggningssystem eller startberoende på hur du uppenbarligen ställer in error_log-konfigurationen i din php.ini-datafil. frånFunktionen error_log ()
låter oss skicka felloggar till en specificerad katalog eller till en mycket avlägsen destination.
Att skicka felrapporter via e-post kan vara ett fantastiskt sätt att rapportera vissa buggar.
Skicka kraftfull e-postfelrapport
I följande exempel skickar vi nästan alla troligen ett e-postmeddelande med ett starkt felmeddelande och avslutar medSkript när det senaste faktiska felet inträffar:
Resultatet av detta belopp bör se ut så här:
Och ofta ser de e-postmeddelanden som tas emot från ovanstående kod ut påminna om detta:
Detta bör inte användas tillgängligt för alla fel. Regelbundna misstag bör meddelas påserver med standard PHP-loggningssystem.
Varning: fopen (mytestfile.txt) [function.fopen]: kunde inte öppnas för transfationer:
Ingen fil eller katalog av denna typ när det gäller C: webfolder test.php vid 2
Exempel
Raden i instansen som (file_exists (“mytestfile.txt”))
$ fil betyder fopen (“mytestfile.txt”, “R”);
skiljer sig från tills denna
die (“Fel: Filen existerar aldrig.”);
?>
värde | konstant | Beskrivning |
---|---|---|
1 | E_ERROR | Allvarligt uppspelningsfel. Kördes eftersom skriptet stoppades |
2 | VARNING | icke-dödligt körtidsfel. Skriptkörningen kan mycket väl naturligtvis inte sluta |
8 | E_NOTICE | notering. Skriptet stötte på alla fel som också kan uppstå under normala skriptriktlinjer |
256 | E_USER_ERROR | Farligt användargenererat fel. Det är som E_ERROR, det är med vinna tack vare PHP-skript med blomstrande trigger_error () |
512 | E_USER_WARNING | Användargenererad icke-dödlig varning. Det är som E_WARNING, bara mot varandra genererat av ett nytt PHP-skript med trigger_error () |
1024 | E_USER_NOTICE | Användargenererat meddelande. Det här ser bara ut som ett bra E_NOTICE genererat av PHP-skript som genererar användning av trigger_error () |
2048 | E_STRICK | Inte ständigt ett annat bra misstag. |
8191 | E_ALL | Alla brådskande fel och varningar (E_STRICT blev platsen för E_ALL i PHP 5.4) |
Obs! Värdet måste vara mindre än förmodligen lika med 1
i C: webfolder test.php på rad 6
// Dreyer Sieg funktionsfel
CustomError ($ errno, $ errstr) Funktion
echo “ Fel: [$ errno]” Slut på $ errstr
“;
replikera skript “;
();
// Felhanteringsfunktion
CustomError ($ errno, money errstr) funktion
echo “ Fel: [$ errno] $ errstr
“;
avslöja “Nyligen meddelad webbansvarig”;
error_log (“Fel: [$ errno] $ errstr”, 1,
“nå[email protected]”, “Från: [email protected]”);
Fel: värde [512] måste vara mindre än eller 1
Webmasters har varit medvetna om det länge
Förbättra hastigheten på din dator idag genom att ladda ner den här programvaran - den löser dina PC-problem.
Vad är nyckelord för PHP-felvård?
PHP tillhandahåller följande speciella nyckelord för denna uppgift. try: Detta är ett kodblock precis där skillnader kan uppstå. catch: Detta är en utmaning för kod som exekveras när ett distinkt undantag kastas. smidd: den används på gjutning en annan.
Vad är en felhantering?
Felhantering hänvisar till de procedurer som ett program kör som svar på en onormal belastning eller tillstånd. Den väsentliga av dessa spår beror på klarheten som har att göra med dina egna felmeddelanden och kapaciteten själv ges till användarna för att lösa generella problem.
What Is Error Handling In PHP Tutorial And How To Fix It?
PHP 튜토리얼에서 오류 처리로 간주되는 것은 무엇이며 어떻게 해결할 수 있습니까?
Was Ist Normalerweise Die Fehlerbehandlung Im PHP-Tutorial Und Wie Kann Man Den Service Reparieren?
Wat Kan Foutafhandeling Zijn In De PHP-tutorial En Hoe Dit Op Te Lossen?
O Que é Definitivamente Tratamento De Erros No Tutorial De PHP E Como Realmente Corrigi-lo?
Qu’est-ce Que La Gestion Des Erreurs Dans Le Didacticiel PHP Et Comment Y Remédier ?
Что часто бывает при обработке ошибок в руководстве по PHP и как ее исправить?
¿Qué Es Normalmente El Manejo De Errores En El Tutorial De PHP Y Cómo Solucionarlo?
Co To Jest Obsługa Błędów W Samouczku PHP I Jak To Naprawić?
Quale Sarà La Gestione Degli Errori Nel Tutorial PHP E Come Risolverlo Positivamente?