КампутарыТыпы файлаў

Выснову памылак у 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 ў файл, можна выкарыстоўваць тры спосабу:

  1. рэдагаваць файл php.ini. Тут трэба вызначыць два радкі. Першая - log_errors = On, якая, уласна і актывуе магчымасць высновы. Другая - error_log = шлях / да жаданага / файлу.

  2. Змяніць htaccess. У яго таксама можна дадаць два радкі. php_value log_errors «on» і php_value error_log шлях / да файла.

  3. Выкарыстоўваць у неабходным месцы кода функцыю ini_set.

заключэнне

Выснову памылак у PHP - неабходны інструмент у адладцы кода. Але таксама ён можа стварыць патэнцыйна ўразлівыя зоны. Таму выкарыстоўваць гэты механізм трэба ўважліва і акуратна. Пасля таго як сайт або сэрвіс прайшоў усе этапы тэставання, трэба клапаціцца пра тое, каб ён не адлюстроўваў памылак, з дапамогай якіх зламыснік можа атрымаць доступ да важных дадзеных.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.birmiss.com. Theme powered by WordPress.