Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Как найти ошибку на сайте в коде PHP

PHP — мощный инструмент для разработки динамических веб-сайтов, однако даже опытные разработчики сталкиваются с трудностями при поиске ошибок в своем коде. В этой статье рассмотрим пошаговую инструкцию, как выявить и устранить проблемы в вашем PHP-коде.



Почему важно находить ошибки:
  • Безопасность: Некоторые ошибки могут привести к уязвимостям сайта, позволяя злоумышленникам получать несанкционированный доступ.
  • Производительность: Исправленные ошибки позволяют ускорить работу сайта и уменьшить нагрузку на сервер.
  • Пользовательский опыт: Устраняя ошибки, вы улучшаете качество обслуживания ваших клиентов.

Шаг 1: Включаем отображение ошибок (Блог: Поиск ошибок в PHP | Дебаг)
По умолчанию PHP скрывает большинство ошибок от конечных пользователей. Чтобы увидеть ошибки, добавьте следующий код в начало файла:
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

Это позволит вам видеть предупреждения, заметки и фатальные ошибки.

Шаг 2: Используйте инструменты для дебага
  • Xdebug —
...

Cannot read properties of undefined (reading 'querySelector')

Ошибка: Cannot read properties of undefined (reading 'querySelector') говорит о том, что метод: querySelector пытается обратиться к элементу, которого не существует.

Возможные решения:
  • Убедитесь, что элемент, к которому обращаетсь, существует, на самом деле.
  • Расположите JavaScript в нижнюю часть Вашего документа.
...

Поиск ошибок в PHP | Дебаг

При написании php скрипта легко допустить ошибку, из-за которой скрипт работать будет неправильно, либо вообще работать не будет. Страница пустая (белая) и ошибку очень сложно найти среди десятка тысяч символов... Для того что бы быстро найти ошибку, можно в ваш файл, после <?php добавить следующий код:
ini_set('display_errors', 'On');
error_reporting(E_ALL);

после этого должно появится сообщения с номером строки, в которой находится ошибка (правда этот вариант не всегда помогает).

Еще как вариант: добавить в файл .htaccess строку:
php_flag display_errors 1


Возможно, будет интересно:
...

Warning: #3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release

При поиске в phpMyAdmin, получаю ошибки:
Warning: #3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous

Сравнение: utf8mb4_0900_ai_ci. И как оказалось, некоторые столбцы, некоторых полей имеют utf8mb3_general_ci.

Ошибка решается изменением кодировки: Блог: MySQL: Как изменить кодировку запросом....

MySQL: #1071 - Указан слишком длинный ключ

Ошибка: #1071 - Указан слишком длинный ключ. Максимальная длина ключа составляет 1000 байт, может появиться при сменены кодировки полей таблицы (Блог: MySQL: Как изменить кодировку запросом).

Во многих случаях, помогает уменьшение длинны поля, например, с varchar(255) на varchar(250). Чтобы указать более подходящею длину, используйте запрос, который поможет определиться с нужной длинной: Блог: MySQL: Как получить самую длинную строку столбца....