Ett Inte Särskilt Svårt Sätt Att Felsöka PHP-verifieringsfel

Få din dator att fungera som ny på några minuter. Klicka här för att ladda ner.

Under de senaste dagarna har vissa användare stött på kraftfulla felmeddelanden när de testade php för att få fel. Det finns ett antal inblandade med faktorer som kan orsaka detta scenario. Låt oss diskutera detta nedan.


Mycket enkel PHP-felhantering. Nu felmeddelandet med filnamn, radSamlingen a och ett meddelande om att felet kommer att åtgärdas kan hittas skickas till webbläsaren.


PHP-felhantering

Hantering är normalt mycket viktig när man skriptar interweb-felapplikationer.Del. Om din kod är allvarlig för felkontroll, ser ditt program nästan säkert bra ut.oprofessionellt och du kan bli utsatt för säkerhetsrisker.

Den här artikeln innehåller några av de många vanliga felkontrollteknikerna i PHP.

  • Enkla uttalanden om sluta leva ()
  • Anpassade fel och felutlösare
  • Felmeddelande

Grundläggande felhantering: Använda funktionen Die ()

Det grundläggande exemplet visar alla enkla teckensnitt som öppnar en meddelandefil:

Om du ser att experter hävdar att filen inte finns, kan en person få ett felmeddelande till exempel detta:

För att förhindra användare genom att få ett bra felmeddelande som liknar det ovan, kontrollerafilen existerar först, vi försöker komma åt den:

Om filen inte finns kommer du att se följande felmeddelande:

Ovanstående tillvägagångssätt är mycket effektivare än den tidigare koden på grund av det faktumanvänder en enkel felhanteringsteknik för att skydda sig från vbulletin efter fel.

Men att avbryta skriptet är vanligtvis inte den rätta lösningen. TaLär dig om andra PHP-felhanteringsprocedurer. A



Skapa din egen felhantering

Det är lätt att skapa din egen Drejer-felklassiker. Vi ordnar bara en specialEn fest som kan kallas när detta fel inträffar i PHP.

Den här funktionen måste kunna interagera med minst två zoner (felNivå men felmeddelande) kan ta upp för att ge dem fem funktioner (valfritt: fil, radvolym och det viktigaste felkontexten):

Syntax

parametrar Beskrivning Felfrekvens Krävs. Anger felrapporteringsomfånget för ett anpassat fel. Måste vara ett numeriskt värde. Se nedan för möjliga trösklar för pollingfel Felmeddelande Krävs. Tillsammans felmeddelande på grund av anpassat fel Felregister Valfritt. Anger namnet på din huvudfil där huvudfelet inträffade Felgrupp Valfritt. Indikerar radnumret där vårt fel inträffade error_context Valfritt. Anger en array som skapas med varje tal och dess värden tills de används när ett fel uppstår

Felrapporteringsnivåer

Den här felrapporten bör visa olika typer av fel som kan åtgärdas med en anpassad felhanterare:

Ovanstående kod är en optimal enkel felhanteringsfunktion. När saker gårfår det mesta av feldiplom och felmeddelande. Sedan har den felnivån osv.Meddelandet stoppar skriptet.

Vi har nu återskapat tjänstefelsfunktionen, som vi måste lösa inom en ny minut.borde fungera.


Definiera felhantering

Det är ett omtyckt misstag för PHP-hanterare som endast har en inbyggd slip-up-hanterare. Vikommer att fungera bra att erbjuda standardfelhanteraren förscenario.

feltestning php

Felindikatorn kan ändras för att endast gälla vissa dilemman.Således kan vilket skript som helst hantera olika fel här på olika sätt. Dock iI det här fallet måste vi använda vår unika felägare för alla fel:

Eftersom vi vill att alla mina skräddarsydda funktioner ska hantera eventuella missförstånd, är set_error_handler () endast en viss typ av parameter krävs, följande parameter kan hjälpa dig att specificera felnivån.

Exempel

Testa en specifik felhanterare som försöker fly från ett obefintligt resultat varierade:

Slutprodukten av en kod ovan bör se ut som mitt:


Utlösaren misslyckades

I ditt skript där användare kan skriva poster är det användbart att försöka skapa problem närEn ogiltig post återgavs. I PHP tillämpas detta vanligtvis med funktionen trigger_error () .

Exempel

error testing php

I det exemplet gör en viss förskjutning om testvariabeln uppenbarligen är större än 1:

Produktiviteten för alla nya koder ovan ser verkligen ut så här:

Felet kan uppstå nästan var som helst i hela skriptet genom att helt enkelt lägga tillAndra parametern, ditt enskilda företag kan specificera vilket utjämningsfel som uppstår kontinuerligt.

  • E_USER_ERROR – Allvarligt användargenererat körtidsfel. Fel som inte heller går att åtgärda. Verkställandet av den ogiltigförklarade omröstningen kan avbrytas.
  • E_USER_WARNING ~ En körtidsvarning genererad av en icke-seriös användare. Skriptkörning är inte förhindrad
  • E_USER_NOTICE – standard. Användargenererad förloppsvarning. Skriptet stötte på ett fel, men tyvärr kan det också hända om skriptet körs normalt

Exempel

I det här exemplet visas det lämpliga E_USER_WARNING-meddelandet när det skiktade “testet” är större än “1”.hur. När E_USER_WARNING faktiskt inträffar kommer vi att använda mycket av vår favorit anpassade felhanterare och stänga av skriptet:

Resultatet av den exakta kodöverbelastningen bör se ut som en Brazom:

Tja, vårt företag skulle kunna lära sig att göra alla dessa människors misstag själva och handla som består av dem,Låt oss ta en titt på felsläpning.


Felloggning

Som standard skickar PHP felloggar på vägen till masterserverns loggningssystem, eventuellt till en fil.beroende på hur du ser, ställs error_log-konfigurationen helt enkelt tillbaka i filen php.ini. Tvärs överFunktionen error_log () låter dig skicka felloggar till en personligt specificerad fil eller till en onlinedestination för datorreparation.

Att skicka felrapporter via e-post måste vara ett bra sätt att få tillgång till meddelanden om specifika buggar.

Skicka e-post till en bugg

I det exemplet nedan kommer vi att skicka det specifika e-postmeddelandet med ett felmeddelande utöver , avsluta varje gång.Skript när ett dedikerat fel uppstår:

Det är iögonfallande att utdata från koden till höger ovan ser ut så här:

Och paketen som erhålls från den påpekade koden ser ut så här:

Det behöver inte finnas i alla buggar. Det rekommenderas att registrera dig för periodvis Mina misstagservern använder det erogena PHP-loggningssystemet.

Snabb och enkel PC-reparation

Körs din dator långsamt och visar ständigt fel? Har du funderat på att formatera om men har inte tid eller tålamod? Var inte rädd, kära vän! Svaret på alla dina datorproblem är här: Restoro. Denna fantastiska programvara kommer att reparera vanliga datorfel, skydda dig från filförlust, skadlig programvara, maskinvarufel och optimera din dator för maximal prestanda. Så länge du har det här programmet installerat på din maskin kan du kyssa de frustrerande och kostsamma tekniska problemen adjö!

  • 1. Ladda ner och installera Reimage
  • 2. Öppna programmet och klicka på "Skanna"
  • 3. Klicka på "Reparera" för att starta återställningsprocessen

  • Varning: fopen (mytestfile.txt) [function.fopen]: kan inte öppna feed:
    Ingen posttyp eller filkatalog med C: webfolder test.php på ämnet nätet med 2

    Exempel

    while (fil_exists (“mytestfile.txt”))
    $-filen är helt enkelt fopen (“mytestfile.txt”, “R”); Bättre

    die (“Fel: Lodgen finns inte.”);

    ?>

    Prova allt själv”

    värde konstant Beskrivning 1 E_ERROR Allvarligt körtidsfel. Skriptet kunde stoppas 1 . 5 VARNING icke-dödligt fel i undervisningen. Paketkörning kommer inte bara att stoppa nio E_NOTICE Exekvering visualisera det. Ett skript är något tillgängligt, och det kan vara ett stort misstag, även om det också kan hända när allt skript underhålls normalt 256 E_USER_ERROR Användaren genererade allvarligt fel. Liknar E_ERROR, men inte. genererat av PHP-skript med prestanda trigger_error () 512 E_USER_WARNING Pol en icke-dödlig varning för företag. Det ser ut som en perfekt E_WARNING, om det inte är det Genereras av ett PHP-skript med hjälp av trigger_error () 1440 E_USER_NOTICE Användargenererad avisering. Det är som E_NOTICE, här är verkligen uppgiften Resultat via PHP-skript med någon av våra trigger_error () kommer att fungera 2048 E_STRICT Inte bara ett fel val. 8191 E_ALL Alla och följaktligen felvarningar (E_STRICT ändrade status tillsammans med E_ALL-delen i PHP 5.4)

    // Fel vid användning av funktionen
    CustomError ($ errno, rr errstr) funktion
    ange “ Fel: [$ errno] rr errstr”;

    // definiera förvirringshanterare
    set_error_handler (“customError”);

    // ger en brist
    eko ($ test);
    ?>

    Notera. Värdet måste vara mindre än eller ett
    till C: webfolder test.php till steg 6

    // Fel manövreringsfunktion
    CustomError ($ errno, dollar errstr) Funktion
    ange “ Fel: [$ errno] medel errstr
    “;
    eko “Slutligt manus”;
    ();

    // definiera felprestanda
    set_error_handler (“customError”, E_USER_WARNING);

    // kastar detta fel
    $ test = 2;
    if ($ test> = 1)
    error trigger_error (“Värdet måste vara tolv månader eller mindre”, E_USER_WARNING);

    ?>

    // Felhanteringsfunktion
    CustomError ($ errno, $ errstr) funktion
    echo “ Fel: [$ errno] buck errstr
    “;
    visa “Webmastern innehåller ett meddelande”;
    error_log (“Fel: [$ errno] buck errstr”, 1,
    “nå[email protected]”, “Från: [email protected]”);

    // definiera fel som lever genom
    set_error_handler (“customError”, E_USER_WARNING);

    // ljud ($ test> = 1)
    trigger_error (“Värdefel
    $ test betyder 2;
    möjligen 1 eller mindre inom, E_USER_WARNING);

    ?>

    Fel: [512] måste hamna på mindre än 1
    Webbmastern fick ett meddelande

    Få ut den bästa prestandan ur din dator. Klicka här för att optimera din dator i tre enkla steg.