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

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

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

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



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

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

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

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

PHP: Как получить расширение файла из строки

PHP
Чтобы получить расширение файла из строки, будем использовать функцию pathinfo(), чьё предназначение возвращать массив о пути к файлу. В качестве первого параметра функции должна быть строка с путём файла. Второй параметр будет PATHINFO_EXTENSION, что задаёт возвращение только расширение файла:
$file = 'image.jpeg';  
$ext = pathinfo($file, PATHINFO_EXTENSION);
echo 'Расширение файла: ' . $ext;
...

Как проверить является ли число положительным | отрицательным на PHP

PHP
Чтобы выяснить: Является число положительным или отрицательным достаточно сравнить его с нулём, то есть больше или меньше нуля. Если число больше нуля, значит оно положительное, если меньше, значит отрицательное.
$n = -7;

if ($n > 0)
{
	echo 'Положительное число.';
}
else
{
	echo 'Отрицательное число.';
}

Можно в виде функции:
// Проверка числа (Положительное | Отрицательное)
function numberCheck($number)
{
	return $number > 0;
} // End: Проверка числа (Положительное | Отрицательное)

Проверить: Является ли число положительным:
if (numberCheck($n))
{
	echo 'Положительное число.';
}

Проверить: Является ли число отрицательным:
if (!numberCheck($n))
{
	echo 'Отрицательное число.';
}
...

Как разделить строку по символам, при первом его появлении

PHP
При помощи функции explode() мы можем разбить строку в массив, по указанному символу. В моём случае указанный символ (Разделитель) - это двоеточие (:):
$part = explode(':', $param);

И я получаю из строки: user:1 массив из двух элементов. Тут всё просто. Но когда мне приходит строка такого вида: origin:https://danfa.net, сценарий отрабатывает неправильно. Потому что PHP видит в строке два разделителя, первый, где и должен быть, второй в URL и разбивает строку в массив из трех элементов, вместо двух.

Чтобы функция разбивала строку в массив, только на первом разделители, следует использовать третий параметр функции explode(), что называется лимит. Делаем так:
$part = explode(':', $param, 2);

Готово....

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

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

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

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


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