Средства отладки кода PHP: как быстрее искать и исправлять ошибки

Включение отображения ошибок

Используйте ту информацию что интерпретатор даёт автоматически:

Ниже рассмотрим советы для более сложных ситуаций.

Процесс отладки

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

Без отладчика (просто модифицируем код):

  1. Используйте echo() и print_r() для вывода промежуточных данных.
  2. Изменяйте промежуточные данные, делайте их фиксированными (если они формируется "на ходу" - динамически), искусственно упрощайте ситуацию, чтобы понять что не так.
  3. Отлаживайте разные части программы, например на предмет того "доходит ли вообще интерпретатор сюда" (для этого, например, можно просто смещать вызов "echo(123)" все ниже по коду, пока результат не перестанет выводится).

C отладчиком (в некоторых случаях более удобный и продвинутый вариант, который в любом случае должен быть у вас под рукой, даже если вы не всегда его используете):

  • Используйте xdebug, чтобы выполнять программу пошагово и останавливать код на нужных строках и просматривать значения переменных в момент остановки в IDE.

    ПРИМЕЧАНИЕ: xdebug стоит включить даже просто для вывода стека вызовов при наличии ошибки.

Исправление ошибки в конкретной строке

Когда уже известно в какой строке ошибка (номер строки обычно всегда указывается в сообщении об ошибке):

  • Можно разбить достаточно сложную строку на несколько, если непонятно где именно в ней ошибка.