SITE PAIEŠKA

PHP klaidų išvedimas

Nesvarbu, kaip atsargiai ir atidžiaiWeb programuotojas savo darbo metu gali klaidų ir netikslumų. Dėl to tai gali sukelti svetainės ar paslaugos sugedimą. Norėdami derinti projekto kūrimo metu, į PHP gali būti įtraukta klaidų išvestis.

Kaip tai veikia?

PHP tikrai reaguoja į tą ar tą kodąscenarijus. Kai kuriais atvejais - atlikdami reikiamus veiksmus, kitose - rodoma klaida. Šis mechanizmas padeda kūrėjui pašalinti trūkumus kodo skiltyje.

PHP išvesties klaidos

Tačiau PHP klaidų išdavimas ne visada reikalingas. Kai baigsite kurti projektą, ši funkcija bus išjungta, kad būtų išvengta įsilaužimo arba neteisėtos prieigos.

Tinkinti

Visai PHP vertimo konfigūracijaifailas php.ini. Ji turi klaidos pranešimo direktyvą, kuri tiesiog apibrėžia PHP klaidų išvestį. Tačiau, nors jis apima ir išimčių tvarkymą, display_errors yra atsakingas už jų rodymą naršyklės lange. Jei jis išjungtas, sistema parodo tuščią puslapį, o ne klaidą.

Išimčių klasifikavimas

PHP klaidų išvestis gali būti sąlygiškai suskirstyta į keletą kategorijų:

  • klaidos, dėl kurios scenarijus nustos veikti. Vadinamasis, mirtinas. Tai apima E_ERROR, E_COMPILE_ERROR;

  • klaidos, kurias galima pašalinti. Jų klaidos ataskaitų direktyvos reikšmės gali būti: E_WARNING, E_NOTICE ir kiti.

Verta išsamiau apsvarstyti kiekvieną tipą ir apibūdinti jo funkcionalumą.

  • E_ERROR. Paprastai šis tipas nurodo tokias klaidas, kurių negalima greitai pašalinti arba tęsti scenarijaus vykdymą. Tai gali apimti atminties paskirstymo problemas;

  • E_WARNING. Kodas bus tęsiamas, tačiau bus rodomas įspėjimas apie klaidą, kurios kodas nurodytas pranešime. Ne kritiškas;

  • E_NOTICE. Pranešimai, rodomi: įvyko kažkas, dėl kurių gali kilti klaida. Taip pat nėra svarbu kodo vykdymui;

  • E_USER_ERROR. Klaidos, kurias sukelia naudotojas;

  • E_ALL. Tai apima visų tipų klaidas. Paprastai ši parinktis įjungiama pagal numatytuosius nustatymus, kai įdiegiamas vertėjas.

Kaip įgalinti klaidų išvedimą PHP

Klaidų mechanizmų naudojimas PHPgali skirtis priklausomai nuo to, kur kodas taikomas - priegloboje ar vietiniame kompiuteryje. Antruoju atveju kūrėjas gali sukonfigūruoti savo serverį ir rodyti, kaip jis nori, būtent pakeiskite konfigūraciją failo php.ini. Pakanka pateikti dvi direktyvas: display_errors ir error_reporting į šią formą:

display_errors on

error_reporting E_ALL

Šios komandos parodys visus klaidų pranešimus tiesiai naršyklės lange.

php įgalinti klaidų ataskaitas

Jei kūrimas atliekamas virtualiu būdupriegloba, tada dažniausiai klaidos rodymo funkcija išjungta saugumo sumetimais. Todėl, norėdami jį suaktyvinti, reikės naudoti Apache htaccess serverio konfigūracijos failą. Paprastai tai yra svetainės šaknis. Ją turite pridėti keliomis eilutėmis naudodami bet kurį teksto redaktorių:

php_flag display_errors on

php_value klaidos pranešimas -1

Taip pat galite išvesties klaidas tiesiai iš kodo naudodami funkciją ini_set (). Tačiau reikėtų nepamiršti, kad po svetainės kūrimo jos taikymas gali sukelti saugumo problemų.

PHP failo išvesties klaidos

Rašykite į failą

PHP leidžia išsaugoti visas klaidas, įvykusias konkrečioje vietoje kietajame diske. Norėdami įtraukti PHP klaidų išvestį į failą, galite naudoti tris metodus:

  1. redaguoti failą php.ini. Čia reikia apibrėžti dvi eilutes. Pirmasis yra log_errors = On, kuris faktiškai aktyvuoja išvesties gebą. Antrasis yra error_log = path / į norimą / failą.

  2. Redaguoti htaccess. Taip pat galite pridėti dvi eilutes. php_value log_errors "on" ir php_value error_log path / į failą.

  3. Naudokite ini_set funkciją reikalingoje kodo vietoje.

Išvada

PHP klaidų išvedimas yra būtina priemonėderinti kodą. Tačiau tai taip pat gali sukurti potencialiai pažeidžiamas sritis. Todėl reikia atsargiai ir atsargiai naudoti šį mechanizmą. Kai svetainė arba paslauga praėjo visus bandymų etapus, turite įsitikinti, kad nėra klaidų, per kurias prieglobos serveris gali pasiekti svarbius duomenis.

</ p>
  • Reitingas: