1.10 基本的调试步骤

调试的确很难,这门技术必须得通过实际动手才能真正掌握。接下来的几十页内容都是专门阐述这一主题的,但即便如此,恐怕你也只能掌握必备调试技能中的一小部分。

之所以开局就如此悲观,是因为我想让你记住,没想好之前不要匆忙编程。有时代码不会如期工作,而程序员不可避免地会出现疏漏和错误,这会令人痛苦并抓狂——即使你使用的语言像PHP这样友好。总之,困惑和沮丧时常出现。自1999年起,我就开始用PHP编程了,但偶尔还是会不知所措。调试是一项需要掌握的重要技能,你将最终认识到它的必要性并深深体会到这一点。作为PHP编程历险的开始,本书将提供下面这些基础但又具体的调试技巧。

注意,这些都是为PHP初学者特别定制的一般的调试技巧。第8章将详细讲述其他技巧。

调试PHP脚本

  • 确保你总是通过URL来运行PHP脚本!

    这或许是初学者常犯的错误。PHP代码必须通过网络服务器软件运行,也就是说必须通过http://something发出请求。如果你看到的是PHP代码,而不是代码执行的结果,很可能是你没有通过URL运行PHP脚本。

  • 了解正在运行的PHP版本。

    一些问题是由PHP的版本所致。在使用任何支持PHP的服务器之前,运行phpinfo.php脚本(查看附录A)或参考PHP_VERSION常量来确认使用的PHP版本。

  • 确保display_errors启用

    这是一个基本的PHP配置设置(参见附录A)。你可以运行phpinfo()函数来确认设置(使用浏览器,在结果页中搜索display_errors)。出于安全的考虑,PHP可能没有设置成在发生错误的时候显示错误信息。如果是这种情况,当错误发生时你看到的将会是一个空白页。为了调试问题,需要查看错误信息,所以当学习的时候请启用这项设置。可以在附录A中找到相关的介绍。

  • 检查HTML源代码。

    有时候问题会隐藏在页面的HTML源代码中。事实上,有时PHP错误信息也会隐藏在那里。

  • 信任错误信息!

    初学者常犯的另外一个错误是不完整阅读PHP报告的错误消息,或者不完全相信这些错误。尽管这些错误消息有时非常含糊,并且看上去没有什么意义,但是还是不能忽略它!至少在错误发生于哪行代码这个问题上,PHP通常都是正确的。如果你需要将错误信息发给别人(比如当你要向我求助的时候),一定要包括全部的错误信息!

  • 休息一下!

    这么多年来我遇到过很多的编程问题,并且绝大多数最困难的问题,都是在我离开计算机去散步一会儿回来后解决的。编程时很容易陷入挫败与迷惑交织的痛苦中,在这种情况下,如果继续做下去,只会让事情变得更糟。

目录