离线下载
PDF版 ePub版

极客学院团队出品 · 更新于 2018-11-28 11:00:43

错误调试

项目程序第一次运行时很少有正常工作的。很多程序触发 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-aware BBEdit 和 Emacs 的编辑器是一个好主意。这些编辑器的共同特点之一就是语法高亮显示。你改变你的程序的不同部分,颜色基于这些部分会随之而改变。例如,字符串是粉红色的,关键词等是蓝色的,评论都是灰色的,变量是黑色的。

另外一个特性是引用要和括号匹配,这有助于确保你的引用和括号是成套配对的。当你输入一个关闭分隔符}时编辑器会自动提示开放{匹配。

有以下几点需要被应用当你调试您的程序时:

  • 缺少分号——每个 PHP 语句必须以分号(;)结束。PHP 不会停止执行程序阅读,直到执行到一个分号。如果你离开一行的以分号结束时,PHP 程序会继续向下执行程序。
  • 值不等价——当你对两个值是做比较的时,你需要使用两个等号(==)。使用一个等号是一种常见的错误。
  • 敲错变量名称——如果你拼错变量名称,然后 PHP 会把它作为一个刚声明的变量来使用。记住:PHP,变量是去区分大小写的。
  • $ 符号—— 一个 $ 符号由于粗心忘记写了这时很难发现,但至少它通常会导致一个错误消息,你会通过这个错误提示知道去哪里找问题。
  • 引用的问题—— 你或多或少存在错误引用的问题。所以检查平衡数量的引用。
  • 遗忘的括号和花括号——他们应该总是成对。
  • 数组索引——所有数组应该开始从 0,而不是 1。

尽管如此,妥善处理所有的错误信息和直接到系统日志文件中跟踪消息,这样如果发生任何错误,那么它将被记录到系统日志文件,你将很快找到并能够调试这个问题。

上一篇: 错误处理 下一篇: 日期和时间