Программы редко работают правильно с первого раза. В вашей программе может произойти много ошибок, из-за которых интерпретатор PHP генерирует сообщение об ошибке. У вас есть выбор, где эти сообщения об ошибках. Сообщения могут быть отправлены вместе с другими программами на веб-браузер. Они также могут быть включены в журнал ошибок веб-сервера.
Чтобы сообщения об ошибках отображались в браузере, установите для директивы конфигурации display_errors значение On . Чтобы отправить ошибки в журнал ошибок веб-сервера, установите для параметра log_errors значение On. Вы можете установить их обоих на Вкл, если вы хотите сообщения об ошибках в обоих местах.
PHP определяет некоторые константы, которые вы можете использовать для установки значения error_reporting , так чтобы сообщалось только об ошибках определенного типа: E_ALL (для всех ошибок, кроме строгих уведомлений), E_PARSE (ошибки синтаксического анализа), E_ERROR (фатальные ошибки), E_WARNING (предупреждения), E_NOTICE (уведомления) и E_STRICT (строгие уведомления).
При написании PHP-программы рекомендуется использовать редакторы с поддержкой PHP, такие как BBEdit или Emacs . Одной из специальных особенностей этих редакторов является подсветка синтаксиса. Он меняет цвет разных частей вашей программы в зависимости от того, что это за части. Например, строки — розовые, ключевые слова, такие как if и while — синие, комментарии — серые, а переменные — черные.
Другая функция — это сопоставление кавычек и скобок, которое помогает убедиться, что ваши кавычки и скобки сбалансированы. Когда вы вводите закрывающий разделитель, такой как}, редактор выделяет открывающее {что соответствует.
Есть следующие пункты, которые необходимо проверить при отладке вашей программы.
-
Отсутствие точек с запятой. Каждый оператор PHP заканчивается точкой с запятой (;). PHP не прекращает читать оператор до точки с запятой. Если вы пропустите точку с запятой в конце строки, PHP продолжит читать инструкцию в следующей строке.
-
Недостаточно знаков равенства — когда вы спрашиваете, равны ли два значения в выражении сравнения, вам нужны два знака равенства (==). Использование одного знака равенства является распространенной ошибкой.
-
Имена переменных с ошибками — если вы неправильно написали переменную, PHP понимает ее как новую переменную. Помните: для PHP $ test — это не та же переменная, что и $ Test.
-
Отсутствующие знаки доллара. Отсутствующий знак доллара в имени переменной действительно трудно увидеть, но, по крайней мере, обычно приводит к сообщению об ошибке, чтобы вы знали, где искать проблему.
-
Тревожные цитаты — Вы можете иметь слишком много, слишком мало или неправильные цитаты. Поэтому проверьте сбалансированное количество цитат.
-
Отсутствуют круглые скобки и фигурные скобки — они всегда должны быть в парах.
-
Индекс массива — все массивы должны начинаться с нуля, а не с 1.
Отсутствие точек с запятой. Каждый оператор PHP заканчивается точкой с запятой (;). PHP не прекращает читать оператор до точки с запятой. Если вы пропустите точку с запятой в конце строки, PHP продолжит читать инструкцию в следующей строке.
Недостаточно знаков равенства — когда вы спрашиваете, равны ли два значения в выражении сравнения, вам нужны два знака равенства (==). Использование одного знака равенства является распространенной ошибкой.
Имена переменных с ошибками — если вы неправильно написали переменную, PHP понимает ее как новую переменную. Помните: для PHP $ test — это не та же переменная, что и $ Test.
Отсутствующие знаки доллара. Отсутствующий знак доллара в имени переменной действительно трудно увидеть, но, по крайней мере, обычно приводит к сообщению об ошибке, чтобы вы знали, где искать проблему.
Тревожные цитаты — Вы можете иметь слишком много, слишком мало или неправильные цитаты. Поэтому проверьте сбалансированное количество цитат.
Отсутствуют круглые скобки и фигурные скобки — они всегда должны быть в парах.
Индекс массива — все массивы должны начинаться с нуля, а не с 1.
Более того, обрабатывайте все ошибки правильно и направляйте все сообщения трассировки в файл системного журнала, чтобы в случае возникновения каких-либо проблем он был зарегистрирован в файле системного журнала, и вы сможете отладить эту проблему.