程序调试
PHP中的错误类型
语法错误
程序中的错误地使用了PHP语法
几乎所有的语言都有自身的语法要求,错误地使用PHP语法将会导致语法错误。
语义错误
程序中正确的使用了PHP语法,但是却没有任何意义。
逻辑错误
程序中的逻辑没有达到预期的结果
注释错误
程序中的注释与程序代码不符合
运行时错误
由于服务器资源不可用而导致的代码失效
程序调试策略
在进行PHP程序的错误调试过程中,一个基本的调试技术就是打开错误报告,另一个是使用print
等屏幕输出语句,通过显示的在屏幕上实际出现的内容来精确地找出更难发现的错误。
错误级别
在PHP的错误报告被打开以后,在浏览器中访问包含错误的PHP代码,会输出相应的错误信息。
分析错误
分析错误是在PHP编译器对PHP代码进行分析时产生的。如果检测到语法错误,则代码不会继续进行运行。
致命错误
致命错误往往是由于PHP编译器在运行PHP代码时遇到环境或资源不可用导致的错误。
警告
警告信息是在代码运行时遇到的一些异常。
通知
通知一般用于提示相对比较小的错误,这些错误往往PHP编译器能够自行处理。
打开错误报告
在调试PHP应用程序时,有两个配置变量display_errors
和error_reporting
。这两个变量在php.ini文件中的值
display_errors = Off
error_reporting = E_ALL
其中display_errors
变量用来告诉PHP是否显示错误,error_reporting
变量用来告诉PHP如何显示错误。
使用print
进行程序调试
可以使用print
将变量的内容输出进行程序调试。
错误的处理
由地PHP的错误报告会输出一些包含服务器信息的提示,在实际应用环境中,由于一些环境原因导致的错误可能会给服务器或系统带来安全隐患。
错误的隐藏
PHP提供一个隐藏错误的方法,即要被调用的函数名前加@
符号来隐藏可能由于这个函数导致的错误信息。
错误信息的定制
通用使用if
语句来检测错误,并根据判断结果输出错误信息。
超时错误的处理
PHP中的超时处理通常是通过使用set_time_limit
函数来延长脚本的运行时间