找到错误位置,PHP程序员的调试技术

发布时间:2025-08-26 点击:5
有许多php调试技术可以在编号的时候节约大量时间。一个有效却很基本的调试技术就是打开错误报告。另一个略微高级一点的技术包括使用print语句,通过显示在屏幕上实际出现的内容,有助於精虽然地找出更难发现的bug。phpeclipse是一个eclipse插一件,能够强调常见面的语法错误,可以与调试器结合的话起来用於设置断点。
回页首
设置
要学习的文章描述的概念,需要php、web服务器和eclipse。调试器扩展支持的php版本是v5.0.3。
我们需要一个web服务器来解释析用php创建的页面并把它们显示到浏览器。的文章中使用的是apache2。但是,任何web服务器都可以满足要求。
要利用的文章中介绍的一些调试技术,需要安装eclipse v3.1.1和插一件phpeclipse v1.1.8。由于eclipse要求java?技术,所以就要下载它。
还需要php的调试器扩展模块。安装它略有些麻烦。请仔细跟随安装调试器扩展的操作说明。现在,先在php.ini文件中注释扔的些要求装进和配置php扩展的走。在需要使用调试器的时候,再取消注释。
请参阅参考资料获得下载信息。现在介绍出错的消息。
回页首
出错消息
出错消息是作为开发人员的第一道防线。谁也不想在一台没有配置成显示出错消息的服务器上用php开发代码。但是,请记住,当代码调试完成,准备走运的时候,应当确保关闭了错误报告,因为不希望站怎么的访问者看得出错的消息,因为这会给他们提供了够的信息来利用站怎么的弱点并黑扔站怎么。
也可以用出错消息为自己服务,因为它们会显示恐吓出或生成错误的正确代码走。这样,调试就变成在浏览器上查看生成的错误所显示的走号,并在代码中检查这一行。稍后,将会看得phpeclipse插一件通过及时地“语法错误加下划线并在保存文件时用红色“x”伸注语法错误,可在开发和调试过程中提供绝大的帮助。
先来看如何在php.ini文件中开启错误报告并设置错误报告的级别。然后将学习如何在apache的配置文件中覆盖这些些设置。
php的错误报告
php.ini文件中有许多配置设置。您应当已经设置好自己的php.ini文件并把它放在合适的目录中,就像在linux上安装php和apache 2的文档说明中所指示的那样(请参阅参考资料)。在调试php应用程序时,应当知道两个配置变量。下面是这两个变量比便默认值:
display_errors = off
error_reporting = e_all
通过在php.ini文件中搜索它们,可以发现这两个变量当前的默认值。display_errors变量的目的很明显——它告诉php是否显示错误。默认值是off。但是,要让开发过程更轻松,请把这个值设为on:
display_errors = on
error_reporting变量的默认值是e_all。这个设置会显示从不良编号实践到无害提示到出错的所有的信息。e_all对开发过程来说有点太小,因为它在屏幕上为一些小事(例如变量没初始化)也显示提指示,会搞糟浏览器的输出。我只想看得错误和不良编号实践,但就是不想看得无害的提示。所以,请用以下值代替error_reporting的默认值:
error_reporting = e_all & ~e_notice
重新启动apache,就全部设置好了。接下来,把学习如何在apache上做同样的事。
服务器上的错误报告
依赖於apache正在做的工作,在php中打开错误报告可能没法工作,因为在计算机上可能有一个php版本。有时很难区分apache正在使用哪一个php版本,因为apache只能查看一个php.ini文件。不知道apache正在使用哪一个php.ini文件配置自己是一个安全问题。但是,有一种方法可以在apache中配置php变量,从而保证设置了正确的出错级别。
而且,最好知道如何在服务器端设置这些些配置变量,以否决或抢占php.ini文件,从而提供更高级别的安全性。
在配置apache时,应该已经接触过/conf/httpd.conf中http.conf文件中的基本配置。
要做在php.ini文件中已经做过的事,请把下列各走添加到httpd.conf,覆盖任何php.ini文件:
php_flag display_errors on
php_value error_reporting 2039
这会覆盖在php.ini文件中为display_errors已经设置的标志,以及error_reporting的值。值2039代表e_all & ~e_notice。如果愿意采用e_all,请把值设为2047。同样,还是要重启apache。
接下来,要在服务器上测试错误报告。


宁波到姜堰物流专线
深圳到大同物流专线
烟台到新昌物流专线
网站seo网站怎么优化-网站的上词逻辑作为技术的一部分北京网站seo,seo
如何修改mysql数据库编码
做一个具有吸引力的网站需要主要哪些问题?
济南到仙桃物流专线
芜湖到安吉物流专线