php错误处理与调试

n    在利用PHP和MySQL开发Web应用程序时,根据采用开发技术的不同,可能遇到的错误有:
nHTML错误
nPHP错误
nSQL错误或MySQL错误
n……
n调试错误,首先要确定错误属于哪个领域,也就是要知道各种开发技术的作用及其关系。
n调试的最佳建议:当你受挫时,就离开计算机,休息一会,清醒一下头脑,并用你明亮的双眼重新审视代码。
n基本调试步骤:
n1、确保运行和编辑的是同一个页面
n2、确保你保存了最新的更改
n3、确保你通过URL运行了所有的页面
n4、知道你所使用的PHP和MySql的版本,不同版本有不同的特性,如所有函数的不同。
n查看版本:运行phpinfo()函数
n查看帮助手册,看函数是否在此版本可用
基本调试步骤:
n5、知道你正在运行的是什么Web服务器(Apache、IIS),及其版本,因为有些问题是你的Web服务器所特有的。
n6、尝试在不同的Web服务器执行页面
n7、尝试在不同的浏览器中执行页面,看是不是特定浏览器的问题。
 
n8、最后自己尝试的方法都失败了,到一些网站或论坛寻求帮助
在利用PHP和MySQL开发Web应用程序时,根据采用开发技术的不同,可能遇到的错误有:
nHTML错误
nPHP错误
nSQL错误或MySQL错误
n……
n调试错误,首先要确定错误属于哪个领域,也就是要知道各种开发技术的作用及其关系。
 调试HTML错误相对容易,因为大多数问题显而易见。
调试方法:
1、检查源代码
2、使用验证工具,检查错误及验证代码编写是否符合标准
W3C验证:
http://validator.w3.org
3、使用Firefox或Opera浏览器,它们是适合Web开发人员的浏览器,因为他们提供了其它浏览器中没有的
可靠性和调试特性。
4、使用Firfox的附加组件
如:Web Developer、DOM Inspetor、Firebug、HTML Validator等
5、在另一种浏览器中测试页面
IE测试工具:IETester
PHP错误的主要种类:
语法错误:最常见,最容易修复,这类错误会阻止脚本程序的执行。
如:丢失分号
逻辑错误:最糟糕的错误
PHP中错误的级别
注意(notice):不会阻止脚本的执行,并且可能也不是个问题,会影响页面显示
警告(warning):是一个问题,但不会阻止脚本的执行
错误(error):阻止脚本继续执行(包括常见的解析错误parse)
显示PHP错误信息:
1、修改PHP的配置文件:php.ini
两个配置变量:
默认值:
display_errors = Off        //不显示错误
error_reporting = E_ALL  //显示所有级别的错误
建议修改为:
display_errors = On        //显示错误
error_reporting = E_ALL & ~E_NOTICE   //不显示notice错误
显示PHP错误信息:
2、使用ini_set()函数和error_reporting()函数,可以为单独的一个文件打开或关闭display_errors:
例:
ini_set(‘display_errors’,1);  //打开显示错误
ini_set(‘display_errors’,0);  //关闭显示错误
Error_reporting(0);// 关闭错误报告
Error_reporting(E_ALL);// 显示所有错误
Error_reporting(E_ALL & ~E_NOTICE);// 不显示注意错误
注意:开发站点时,显示错误,运行站点时,不显示错误。
使用@来抑制单个错误
例如:
@include(‘conn.php’);//不显示包含文件不存在的错误
$num=@(8/0);// 不显示除以0的错误
注意:@符号只能处理表达式,不能在条件语句、循环语句、函数定义之前使用等。
原则:将@用于那些执行失败时不影响脚本整体功能的函数。
使用die()函数,如果发生错误,则终止脚本继续执行
常用的PHP调试技术
1、打开display_errors,显示出错误信息,尽量看懂错误信息
2、使用注释语句,排除有错误的语句
3、使用print()或echo()函数输出变量的值
如: echo “/$var=$var”;
4、使用print_r()或var_dump输出数组的值
如:echo "<pre>".print_r($var,1)."</pre>";
5、得不到正确的结果时,可以通过输出变量的值跟踪变量的变化
常用调试技术
1、在PHP脚本中打印出SQL语句,跟踪SQL语句的变化
2、在MySql客户端工具运行SQL语句,查看错误类型
 3、以最基本的形式重写SQL,然后再逐个添加其它内容

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值