Postitatud PHP-s
See on kiire postitus vea logimisel PHP-s. Selle kiire artikli jagamise põhjus on minu arvates see, et kasutajatest võib olla abi vigade jälgimisel või vigade silumisel.
Hiljuti töötasin ühe meie kliendi jaoks Facebooki vestlusroboti integreerimise kallal. Facebooki vestlusroboti arendamise ajal peame seadistama veebikonksu, millele Facebook saadab kasutaja vastuse taustal. Siis peaks meie kood vastama vastuse alusel.
Kui ma hakkasin töötama nupu Malli, üldise malliga (see on Facebooki vestlusboti mall), ei vastanud meie rakendus kasutajatele tagasi. Ja kuna kogu protsess toimib taustal, jäin probleemi juurde peaaegu 2 tunniks.
Siis äkki tekkis mul mõte failide vigade logimisest, et saaksin jälgida, mis koodil viga on. Ja siis sain jälgida koodivigu ja lahendasin kõik probleemid. Ilma vikalogideta ei suutnud ma oma probleemi lahendada, kuna olin täiesti vales suunas.
Pange allolev kood oma konfiguratsioonifaili, mis loob error.log
faili teie juurkataloogi.
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('log_errors', true);
ini_set('error_log', 'errors.log');
ini_set('log_errors_max_len', 1024);
Kui ülaltoodud kood on lisatud, hakkavad kõik teie rakenduse vead ja hoiatused error.log
faili sisse logima. See näpunäide on abiks reaalserveri jaoks ka nende koodis leiduvate probleemide jälgimiseks. Lihtsalt veenduge, et määraksite ‘display_errors’ false
tootmisserverisse. Kuna siin true
tähendab kuvamisvigu veebisaidil endal, mida me muidugi ei soovi.