Nesvarbu, kaip atidžiai ir dėmesingaiŽiniatinklio programuotojas, jo darbo klaidų ir netikslumų metu. Dėl to tai gali sukelti svetainės ar paslaugos gedimus. Dėl derinimo projekto kūrimo metu galima įjungti klaidų išvedimą PHP.
Kaip tai veikia?
PHP besąlygiškai reaguoja į šį ar tą kodą.scenarijų. Kai kuriais atvejais - atliekant būtinus veiksmus, kitose - rodoma klaida. Šis mechanizmas padeda kūrėjui nedelsiant ištaisyti kodo segmento įgyvendinimo metu padarytus trūkumus.
Vis dėlto ne visuomet reikalingas klaidų išvedimas PHP. Baigus projektą, ši funkcija yra išjungta, kad būtų išvengta įsilaužimo ar neteisėtos prieigos.
Tinkinti
Visa PHP interpretatoriaus konfigūracija yra atsakingaphp.ini failas Ji turi klaidų ataskaitų direktyvą, kuri apibrėžia klaidų išvedimą PHP. Tačiau, nors jame yra išimčių tvarkymas, display_errors yra atsakingas už jų rodymą naršyklės lange. Jei jis yra išjungtas, sistema parodys tuščią puslapį, o ne klaidą.
Išimties klasifikacija
PHP klaidų rezultatas gali būti suskirstytas į kelias kategorijas:
klaidos, dėl kurių scenarijus nustos veikti. Vadinamasis mirtinas. Tai apima E_ERROR, E_COMPILE_ERROR;
klaidas, kurias galima ištaisyti. Jų vertės, susijusios su klaidų pranešimo direktyva, gali būti: E_WARNING, E_NOTICE ir kitos.
Verta išsamiau apsvarstyti kiekvieną tipą ir apibūdinti jo funkcionalumą.
E_ERROR Paprastai šis tipas reiškia klaidas, kurių negalima greitai pašalinti arba scenarijus ir toliau vykdomas. Tai gali apimti atminties paskirstymo problemas;
ĮSPĖJIMAS. Kodas tęs savo darbą, tačiau pasirodys įspėjimas, kad yra kažkokia klaida, kurios kodas nurodytas pranešime. Nėra kritiškas;
E_NOTICE. Pranešimai, rodantys: atsitiko kažkas, kas gali sukelti klaidą. Taip pat nėra kritiškas kodo vykdymui;
E_USER_ERROR. Vartotojo padarytos klaidos;
E_ALL. Tai apima visų tipų klaidas. Paprastai ši parinktis įjungiama pagal nutylėjimą diegiant vertėją.
Kaip įjungti klaidų išvedimą PHP
Klaidų mechanizmų naudojimo būdai PHPgali skirtis priklausomai nuo to, kur kodas taikomas - priegloboje ar vietiniame kompiuteryje. Antruoju atveju kūrėjas gali sukonfigūruoti savo serverį ir ekraną, kai jam patinka, būtent pakeisti php.ini failo konfigūraciją. Pakanka pateikti dvi direktyvas - ekrano klaidas ir klaidų ataskaitas šia forma:
ekrano klaidos įjungtos
error_reporting E_ALL
Šios komandos leis visus klaidų pranešimus rodyti tiesiogiai naršyklės lange.
Jei kūrimas vykdomas virtualiaipriegloba, tada klaidų rodymo funkcija dažniausiai ten išjungiama saugumo sumetimais. Todėl, norėdami jį suaktyvinti, turėsite naudoti „Apache“ htaccess serverio nustatymų failą. Paprastai jis yra svetainės šaknyje. Naudodami bet kurį teksto rengyklę turite į ją įtraukti keletą eilučių:
php_flag ekrano klaidos
„php_value“ klaidų ataskaitos -1
Taip pat klaidas galite išvesti tiesiai iš kodo naudodami funkciją ini_set (). Tačiau reikia nepamiršti, kad sukūrus svetainę, jos naudojimas gali sukelti saugumo problemų.
Parašykite į failą
PHP leidžia išsaugoti visas klaidas, atsirandančias tam tikroje standžiojo disko vietoje. Norėdami į failą įtraukti PHP klaidų išvestį, galite naudoti tris metodus:
taisyti php.ini failą. Čia reikia apibrėžti dvi eilutes. Pirmasis yra log_errors = On, kuris iš tikrųjų suaktyvina galimybę išvesti. Antrasis yra error_log = kelias / į norimą / failą.
Pakeisti htaccess. Taip pat galite prie jo pridėti dvi eilutes. php_value log_errors "on" ir php_value error_log kelias / į failą.
Naudokite funkciją „ini_set“ reikiamoje kodo vietoje.
Išvada
Вывод ошибок в PHP — необходимый инструмент в derinimo kodas. Bet tai taip pat gali sukurti potencialiai pažeidžiamas zonas. Todėl šį mechanizmą turite naudoti atsargiai ir atsargiai. Po to, kai svetainė ar paslauga praeina visus bandymo etapus, turite įsitikinti, kad joje nėra klaidų, su kuriomis užpuolikas gali pasiekti svarbius duomenis.