PHP的错误调试


程序很少第一次正确运行。许多事情可能会在您的程序中出错,导致PHP解释器生成错误消息。您可以选择这些错误消息的去向。消息可以与其他程序输出一起发送到Web浏览器。它们也可以包含在Web服务器错误日志中。

要在浏览器中显示错误消息,请将 display_errors 配置指令设置为 On 。要将错误发送到Web服务器错误日志,请将 log_errors 设置为On。如果你想在两个地方发送错误消息,你可以将它们都设置为On。

PHP定义了一些常量,可用于设置 error_reporting 的值,以便仅报告某些类型的错误:E_ALL(除严格通知外的所有错误),E_PARSE(解析错误),E_ERROR(致命错误),E_WARNING(警告), E_NOTICE(通知)和E_STRICT(严格通知)。

在编写PHP程序时,使用 BBEditEmacs 等支持PHP的编辑器是一个不错的主意。这些编辑器的特殊功能之一是语法高亮显示。它根据这些部件的内容改变程序不同部分的颜色。例如,字符串是粉红色的,关键字如if和while是蓝色的,注释是灰色的,变量是黑色的。

另一个功能是引用和括号匹配,这有助于确保引号和括号是平衡的。当你输入一个结束分隔符,例如}时,编辑器会突出显示它匹配的开头。

有以下几点需要在调试程序时进行验证。

  • 缺少分号 - 每个PHP语句以分号(;)结尾。 PHP不会停止读取语句,直到它达到分号。如果在分隔符尾部留下分号,PHP将继续阅读以下行中的语句。

  • 没有足够的 等号 - 当你在比较语句中询问两个值是否相等时,需要两个等号(==)。使用一个等号是一个常见的错误。

  • 拼写 错误的变量 名称 - 如果拼写错误,PHP会将其理解为一个新变量。 记住:对于PHP,$ test与$ Test不是同一个变量。

  • 缺少美元符号 - 变量名称中缺少美元符号是很难看到的,但至少它通常会导致错误消息,以便您知道在哪里查找问题。

  • Troubling Quotes - 您可能有太多,太少或错误的引号。 因此请检查报价是否平衡。

  • 缺少圆括号和大括号 - 它们应始终成对。

  • 数组索引 - 所有数组都应该从零而不是1开始。

此外,正确处理所有错误并将所有跟踪消息导入系统日志文件,以便在发生任何问题时将其记录到系统日志文件中,您将能够调试该问题。