PHP入门培训教程PHP培训教程PHP基础教程17常用功能块.ppt
《PHP入门培训教程PHP培训教程PHP基础教程17常用功能块.ppt》由会员分享,可在线阅读,更多相关《PHP入门培训教程PHP培训教程PHP基础教程17常用功能块.ppt(28页珍藏版)》请在三一办公上搜索。
1、回顾,使用正则表达式可以实现字符串的哪些操作?正则表达式中的元字符都有哪些?与Perl兼容的正则表达式都有哪些操作函数?,预习检查,在PHP程序中错误发生一般归属于哪些领域?写入日志的方式有哪两种,如何配置?什么是UNIX时间戳?我们如何使用date()函数格式化时间?,本章任务,1.PHP的错误处理2.PHP的时间和日期,1.PHP的错误处理,1.1 错误报告级别1.2 调整错误报告级别1.3 使用trigger_error()函数来替代die()1.4 自定义错误处理1.5 写错误日志,1.1 错误报告级别,PHP程序的错误发生一般归属于下列三个领域:语法错误:语法错误最常见,并且也容易修
2、复。如:代码中遗漏一个分号。这类错误会阻止脚本的执行。运行时错误:这种错误一般不会阻止PHP脚本的执行,但会阻止当前要做的事情。输出一条错误,但php脚本继续执行逻辑错误:这种错误最麻烦,既不阻止脚本执行,也不输出错误消息。,1.1 错误报告级别,一个异常(后面面向对象时会讲)则是在一个程序执行过程中出现的一个例外,或是一个事件,它中断了正常指令的运行,跳转到其他程序模块继续执行。,PHP的错误报错级别,1.2 调整错误报告级别,display_errors:是否开启PHP输出错误报告的功能值为:On(默认输出错误报告)、Off(屏蔽所有错误信息)在PHP脚本中可调用ini_set()函数,动
3、态设置php.ini配置文件.如:ini_set(display_errors,On);/显示所有错误信息error_reporting:设置不同的错误报告级别。error_reporting=E_ALL,测试错误报告 测试错误报告,确定PHP错误报告行为的配置指令,1.3 使用trigger_error()函数来替代die(),首先函数die()等同于exit(),两者如果执行都会终止PHP程序,而且可以在退出程序之前输出一些错误报告。trigger_error()则可以生成一个用户警告来代替,使程序更具有灵活性。例如,trigger_error(“没有找到文件”,E_USER_ERROR)
4、。使用trigger_error()函数来替代die(),你的代码在处理错误上会更具优势,对于客户程序员来说更容易处理错误。,1.4 自定义错误处理,自定义错误报告的处理方式,可以完全绕过标准的PHP错误处理函数,这样就可以按自己定义的格式打印错误报告,或改变错误报告打印的位置,以下几种情况可以考虑自定义错误处理。可以记下错误的信息,及时发现一些生产环境出现的问题可以屏蔽错误。可以控制错误的输出。可以作为调试工具。使用set_error_handler()函数来设置用户自定义错误处理。,?php/*定义Error_Handler函数,作为set_error_handler()的第一个参数回调
5、param int$error_level 错误级别 param string$error_message 错误信息 param string$file 错误所在文件 param int$lin 错误所在行数*/function error_handler($error_level,$error_message,$file,$line)$EXIT=FALSE;switch($error_level)/提醒级别 case E_NOTICE:case E_USER_NOTICE:$error_type=Notice;break;/警告级别 case E_WARNING:case E_USER_WA
6、RNING:$error_type=Warning;break;/错误级别 case E_ERROR:case E_USER_ERROR:$error_type=Fatal Error;$EXIT=TRUE;break;,/其他末知错误 default:$error_type=Unknown;$EXIT=TRUE;break;/直接打印错误信息,也可以写文件或数据库 printf(%s:%s in%s on line%dn,$error_type,$error_message,$file,$line);/若出现错误则跳转到友好错误提示页面 if(TRUE=$EXIT)echo location
7、=er.html;,通过上面测试代码可以很好解决安全和调试方面的矛盾,但注意E_ERROR、E_PARSE、E_CORE_ERROR、E_CORE_WARNING、E_COMPILE_ERROR、E_COMPILE_WARNING是不会被这个句柄处理的,也就是会用原始的方式显示,不过通常情况下不会发生。使用set_error_handler()后,error_reporting()将会失效。也就是所有错误都是由自定义的函数处理。,error_reporting(0);/屏蔽程序中的错误 set_error_handler(error_handler);/这个才是关键点,把错误的处理交给erro
8、r_handler()echo$novar;/使用末定义的变量要报 notice 的 echo 3/0;/除以0要报警告的 trigger_error(Trigger a fatal error,E_USER_ERROR);/自定义一个错误?,1.5 写错误日志,两种方式记录错误日志:使用指定的文件记录错误报告日志错误日志记录到操作系统的日志里,使用指定的文件记录错误报告日志,1、先配置php.ini:error_reporting=E_ALL/将向PHP发送每个错误display_errors=Off/不显示错误报告log_errors=On/决定日志语句记录的位置log_errors_ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 入门 培训 教程 基础教程 17 常用 功能块

链接地址:https://www.31ppt.com/p-6514635.html