📜  PHP-错误调试

📅  最后修改于: 2020-10-21 05:14:25             🧑  作者: Mango


程序很少在第一次就正常运行。在您的程序中,许多事情可能会出错,导致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程序时,最好使用支持PHP的编辑器(如BBEditEmacs) 。这些编辑器的特殊功能之一是语法突出显示。它根据这些部分的内容来更改程序不同部分的颜色。例如,字符串为粉红色,关键字if和while为蓝色,注释为灰色,变量为黑色。

另一个功能是引号和方括号匹配,这有助于确保引号和方括号平衡。键入诸如}之类的结束定界符时,编辑器将突出显示与之匹配的开头{。

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

  • 缺少分号-每个PHP语句均以分号(;)结尾。 PHP在到达分号之前不会停止读取语句。如果您在一行的末尾省略了分号,PHP将继续读取下一行的语句。

  • 等号不充分-当您问比较语句中两个值是否相等时,您需要两个等号(==)。使用一个等号是一个常见的错误。

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

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

  • 令人烦恼的报价-您可能有太多,太少或错误的报价类型。因此,请检查报价是否均衡。

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

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

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