Заключение за грешки в 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 на error_reporting E_ALL Тези команди ви позволяват да показвате всички съобщения за грешки директно в прозореца на браузъра.
    Ако разработването е направено на виртуален хостинг, тогава функцията за показване на грешки често се деактивира за целите на сигурността. Затова, за да го активирате, трябва да използвате конфигурационния файл на Apache htaccess сървъра. Обикновено тя е в основата на сайта. Трябва да добавите няколко реда към него с всеки текстов редактор: php_flag display_errors за php_value отчитане на грешки -1 Също така, можете да извеждате грешки директно от кода, използвайки функциятаini_set () Въпреки това, трябва да се има предвид, че след разработването на сайта приложението му може да причини проблеми със сигурността.

    Писане на файл

    PHP ви позволява да запазвате всички грешки, които са възникнали на определено място на вашия твърд диск. За да включите изхода на грешката PHP файл, който може да се използва по три начина:
  • редактирайте файла php.ini. Тук е необходимо да се дефинират две линии. Първият е log_errors = On, който действително активира изхода. Вторият е error_log = path /към желания /файл.
  • Редактирайте htaccess. Можете също да добавите две линии към него. php_value log_errors «on» и php_value error_log path /към файла.
  • Използвайте функцията ini_set на желаното място.
  • Заключение

    Заключението за грешки в PHP - необходим инструмент за отстраняване на грешки в кода. Но тя може също да създаде потенциално уязвими зони. Следователно е необходимо този механизъм да се използва внимателно и точно. След като сайтът или услугата са преминали през всички етапи на тестване, трябва да се внимава да не се показват грешки, които позволяват на нападателя да получи достъп до критични данни.

    Свързани публикации