分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

PHP中的错误处理机制

发布时间:2023-09-06 01:43责任编辑:顾先生关键词:PHP

常见的三种错误:

1.Notice :通知性错误,最小的错误,当发生通知性错误时,会弹出一个提示信息。不会中断代码的执行。

错误代码:

#例如
Notice: in I:\www\abc\error.php on line 2

2.Warning:警告性错误,当发生警告性错误后,会弹出一个警告信息,他不会中断程序向下运行。

#例如Warning: in I:\www\abc\error.php on line 2

3.Error:致命性错误,当发生致命性错误后,会弹出一个致命错误信息,中断程序执行。

#例如Fatal error: in I:\www\abc\error.php on line 2

上面是常见的3中PHP中的错误,跟多详细错误看下面代码:

#查看更多错误,可以调用系统函数get_defined_constants这个函数#简答的展示一些:echo "<pre>";var_dump(get_defined_constants());array(1326) { ?["E_ERROR"]=> ?int(1) ?["E_RECOVERABLE_ERROR"]=> ?int(4096) ?["E_WARNING"]=> ?int(2) ?["E_PARSE"]=> ?int(4) ?["E_NOTICE"]=> ?int(8) ?["E_STRICT"]=> ?int(2048) ?["E_DEPRECATED"]=> ?int(8192) ?["E_CORE_ERROR"]=> ?int(16) ?["E_CORE_WARNING"]=> ?int(32) ?["E_COMPILE_ERROR"]=> ?int(64) ?["E_COMPILE_WARNING"]=> ?int(128) ?["E_USER_ERROR"]=> ?int(256) ?["E_USER_WARNING"]=> ?int(512) ?["E_USER_NOTICE"]=> ?int(1024) ?["E_USER_DEPRECATED"]=> ?int(16384) ?["E_ALL"]=> ?int(32767) ?["DEBUG_BACKTRACE_PROVIDE_OBJECT"]=> ?int(1) ?["DEBUG_BACKTRACE_IGNORE_ARGS"]=> ?int(2) ?["TRUE"]=> ?bool(true) ?["FALSE"]=> ?bool(false) ?["NULL"]=>];~~~~还有更多。

错误的触发:

可以分为两种:

1.系统自动触发

系统自动检查程序的编译以及执行,在出错的时候,自动给出错误提示。

2.手动触发:

PHP中手动触发可以调用系统函数,一般用来调试相应的错误程序,一般是用户级别的错误。

触发的函数:trigger_error

第一个参数可以设置错误提示信息,第二个参数可以设置错误的级别

E_USER_NOTICE:触发通知级别错误,最低级别的用户错误

E_USER_WARNING:触发警告级别的错误,后续代码继续执行

E_USER_ERROR:触发致命错误级别的错误,后续代码终止执行。

错误显示开关:

在php.ini中配置display_errors选项,默认为on,显示错误提示,在开发阶段建议设置on,便于项目的调试。产品上线设置为off,用户体验好,安全性高,该设置一直有效。

也可以在脚本中执行ini_set函数,设置dispaly_errors的值,只能在脚本生命周期内,无法修改php.ini文件时,可以采用该方式,脚本周期结束,选项恢复。

设置错误显示的级别:

设置错误报告的级别后,可以决定来显示什么级别的错误信息。

在php.ini中配置error_reporting选项,默认设置为显示所有的错误:

设置错误报告的级别后,可以决定来显示什么级别的错误信息。

E_ALL:显示所有的错误

E_NOTICE:显示通知性的错误

E_WARING:显示警告性的错误

E_ERROR:显示致命性的错误

同样也可以调用ini_set函数设置。

错误日志:

错误日志设置:
一般项目上线需要记录错误日志,用于检查系统错误,默认日志开关开启。

错误日志的默认路径 

apache:

apache/logs/error.log

Nginx:

/var/log/nginx/error.log

自定义错误日志存储路径:
ini_set(‘error_log‘,‘路径‘);

只能设置一次有效,脚本生命周期结束,记录结束。

自定义错误处理处理器:

出现错误时,默认使用系统的错误处理机制来提示错误信息,可以提示什么级别的错误,错误提示字符串,发生错误的文件以及行号等。

可以自定义设置错误提示:

写一个自定义错误处理函数

my_error

有四个参数

$errCode:错误代号

$errStr:错误提示

$errFile:错误文件

$errLine:错误行号

默认不会调用,必须调用set_error_handler函数设置为系统自动调用这个函数。

先到这把,欢迎继续补充~~~,本人微信meng199898,转帖需备注 

PHP中的错误处理机制

原文地址:https://www.cnblogs.com/bjphp/p/8455530.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved