Кампутары, Тыпы файлаў
Выснову памылак у PHP
Якім бы акуратным і уважлівым ня быў вэб-праграміст, падчас яго працы магчымыя памылкі і недакладнасці. У выніку гэта можа выліцца ў збоі сайта або сэрвісу. Для адладкі падчас распрацоўкі праекта маецца магчымасць ўключыць выснову памылак у PHP.
Як гэта працуе?
PHP безумоўна рэагуе на той ці іншы код скрыпту. У адных выпадках - выконваючы неабходнае дзеянне, у іншых - выводзіць памылку. Дадзены механізм дапамагае распрацоўніку ў момант рэалізацыі ўчастка кода аператыўна выпраўляць недахопы.
Аднак, выснова памылак у PHP патрэбен не заўсёды. Пасля таго як распрацоўка праекта завершана, гэтую функцыю адключаюць, для таго каб пазбегнуць узлому або несанкцыянаванага доступу.
Настройка
За ўсю канфігурацыю інтэрпрэтатара PHP адказвае файл php.ini. У ім маецца дырэктыва error_reporting, якая якраз і вызначае выснову памылак у PHP. Аднак, хоць яна і ўключае апрацоўку выключэнняў, за адлюстраванне іх у акне браўзэра адказвае display_errors. Калі яна адключаная, то сістэма адлюструе замест памылкі пустую старонку.
класіфікацыя выключэнняў
Выснову памылак у PHP можна ўмоўна падзяліць на некалькі катэгорый:
памылкі, у выніку якіх праца скрыпту спыніцца. Так званыя, фатальныя. Да іх ставяцца E_ERROR, E_COMPILE_ERROR;
памылкі, якія можна ліквідаваць. Іх значэння для дырэктывы error_reporting могуць быць: E_WARNING, E_NOTICE і іншыя.
Каштуе больш падрабязна разгледзець кожны тып і апісаць яго функцыянал.
E_ERROR. Звычайна гэты тып спасылаецца на такія памылкі, якія немагчыма аператыўна ліквідаваць або працягнуць выкананне скрыпту. Сюды могуць уваходзіць праблемы з размеркаваннем памяці;
E_WARNING. Код працягне сваю працу, але будзе выведзена папярэджанне аб тым, што ёсць нейкая памылка, код якой паказваецца ў паведамленні. Не крытычныя;
E_NOTICE. Апавяшчэння, якія паказваюць: адбылося нешта, што магло б выклікаць памылку. Таксама не з'яўляюцца крытычнымі для выканання кода;
E_USER_ERROR. Памылкі, згенераваныя самім карыстальнікам;
E_ALL. Сюды ўваходзяць усе тыпы памылак. Як правіла, дадзеная опцыя ўключана па змаўчанні пры ўсталёўцы інтэрпрэтатара.
Як ўключыць выснову памылак у PHP
Методыка выкарыстання механізмаў памылак у PHP можа адрознівацца ў залежнасці ад таго, дзе ўжываецца код - на хостынгу або на лакальным кампутары. У другім выпадку распрацоўшчык можа наладзіць свой сервер і адлюстраванне так, як яму ўздумаецца, а менавіта - змяніць канфігурацыю ў файле php.ini. Дастаткова прывесці дзве дырэктывы - display_errors і error_reporting да наступнага ўвазе:
display_errors on
error_reporting E_ALL
Дадзеныя каманды дазволяць выводзіць ўсе паведамленні пра памылкі прама ў акне браўзэра.
Калі ж распрацоўка праводзіцца на віртуальным хостынгу, то часцей за ўсё функцыя адлюстравання памылак там адключана ў мэтах бяспекі. Таму для яе актывацыі спатрэбіцца выкарыстаць файл налад сервера Apache htaccess. Звычайна ён знаходзіцца ў корані сайта. Трэба дадаць у яго пару радкоў з дапамогай любога тэкставага рэдактара:
php_flag display_errors on
php_value error reporting -1
Таксама вывесці памылкі можна прама з кода, выкарыстоўваючы функцыю ini_set (). Аднак варта ўлічваць, што пасля заканчэння распрацоўкі сайта яе прымяненне можа выклікаць праблемы з бяспекай.
Запіс у файл
PHP дазваляе захоўваць усе якія адбыліся памылкі ў пэўны месца на цвёрдым дыску. Для таго каб уключыць выснову памылак PHP ў файл, можна выкарыстоўваць тры спосабу:
рэдагаваць файл php.ini. Тут трэба вызначыць два радкі. Першая - log_errors = On, якая, уласна і актывуе магчымасць высновы. Другая - error_log = шлях / да жаданага / файлу.
Змяніць htaccess. У яго таксама можна дадаць два радкі. php_value log_errors «on» і php_value error_log шлях / да файла.
Выкарыстоўваць у неабходным месцы кода функцыю ini_set.
заключэнне
Выснову памылак у PHP - неабходны інструмент у адладцы кода. Але таксама ён можа стварыць патэнцыйна ўразлівыя зоны. Таму выкарыстоўваць гэты механізм трэба ўважліва і акуратна. Пасля таго як сайт або сэрвіс прайшоў усе этапы тэставання, трэба клапаціцца пра тое, каб ён не адлюстроўваў памылак, з дапамогай якіх зламыснік можа атрымаць доступ да важных дадзеных.
Similar articles
Trending Now