суббота, 2 июня 2018 г.

Как найти ошибку в PHP-скрипте фруктовой фермы?

fruitfarm boobs
Они обнаружили ошибку в своей фруктовой ферме!
Каждый день нами движут идеи, когда мы что-то меняем на своем проекте, или же напросто создаем нечто новое. Да или просто, когда редактируем мелочь в коде, случается такая неприятность, как ошибка исполнения скрипта. После обновления мы видим просто белый экран, или ничего не происходит. По итогу оказывается, что это глупая ошибка синтаксиса, или просто где-то не так прописали букву в имени переменной.

Вместо того, чтобы перелопатить весь код в поисках ошибок без единой подсказки, знайте, что подсказки можно включить. Как правило, они по умолчанию отключены.

Впрочем, статья подойдет и не только для обладателей фруктовых ферм.

Включаем показ ошибок.


Существует три способа включения показа.

Для включения вывода всех ошибок и предупреждений в коде PHP-скриптов необходимо добавить в начало нужного *.php файла следующие строки:

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

Включение вывода всех ошибок и предупреждений в файле .htaccess

php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL

Ну и самый нераспространенный вариант в нашем случае (согласно практике), включить показ в конфигурационном файле php.ini:

error_reporting = E_ALL
display_errors = On
display_startup_errors = On

Получаем на выходе, в случае обнаружения ошибки, сообщения подобного содержания:
Картинки по запросу php ошибка в файле
Ошибка в файле. Показ ошибки.

Если ошибка нам непонятна, берем и гуглим, все просто! 

К сожалению, данный вывод ошибок помогает не во всех случаях. Бывает, когда к примеру страница бесконечно зацикливается и она просто не открывается, показывая нам 503 ошибку по причине слишком частых обращений к серверу, мы соответственно не увидим ошибку на странице. В таких ситуациях могут помочь логи ошибок сервера. Обязательно включите функцию логирования ошибок и активности на Вашем проекте. Это позволит избежать множество проблем в дальнейшем. Функция подключается на стороне хостинга. Уточняйте и спрашивайте как :)

Комментариев нет:

Отправить комментарий