Php中的错误异常处理

认识错误

 E_ALL -> 所有的错误

 E_ERROR -> 致命的运行错误

 E_WARNING -> 警告级别的错误

 E_NOTICE -> 提示级别的错误

 E_STRICT -> 编码标准化警告

 E_CORE_ERROR ->  php启动时初始化过程中的错误(php没有启动)

 E_CORE_WARNING ->  php启动时初始化过程中的警告

 E_COMPILE_ERROR -> 编译时的致命错误

 E_COMPILE_WARNING -> 编译时的警告错误

 E_USER_ERROR -> 用户自定义的致命错误

 E_USER_WARNING -> 用户自定义的警告错误

扫描二维码关注公众号,回复: 1055491 查看本文章

 E_USER_NOTICE  -> 用户自定义的提示

错误的级别

 Error    致命错误,会终止程序的运行

 Warning 警告级别的错误,不会终止程序的运行

 Notice   提示 提醒(算不上错误)

防止错误

Ø 让不该看到的人看不到错误

使用错误抑制符@,只能屏蔽单行错误而且效率低

修改php.ini 配置文件中的display_errors选项,设置on显示错误,设置off不显示错误

修改php配置文件中error_reporting选项,可以定义任意类型的错误输出或者不输出  

  E_ALL  &(并且) ~(除了某一个)

E_ALL &~E_NOTICE 报所有的错误但是除了E_NOTICE

使用error_reporting() 函数,可以和配置文件中的error_reporting选项实现相同效果,设置的值也是一样

Ø 让该看到的人看到错误(制作网站的相关人员)

第一步:关闭配置文件中display_errors 设置为off

第二步:设置存储错误的类型,设置配置文件中error_reporting选项,指定需要存储的错误类型

第三步:开启错误日志记录开关,设置配置文件中的log_errors =On

第四步:设置值错误日志记录的地点

  error_log = syslog 记录错误到系统日志中(打开去掉分号)

系统日志查找方式-》开始-》控制面板-》管理工具-》事件查看器-windows日志-》应用程序

l 从控制面板中查看错误看着比较难分辨,这是我们可以自定义写入指定的文件中(error_log = syslog前面的分号在加上)

 error_log = “写入错误文件的路径

注意:error_log不会帮我们自定义创建目录,只能帮我们自动创建文件。

注意:要知道一切通过配置文件修改的东西,都可以通过函数来修改。

自定义处理错误的方式

Ø set_error_handler(); 设置一个用户定义的错误处理函数

@param1:传入一个回调函数

@param2:可选参数,设置错误的类型

注意:用户自定义的回调函数需要接受四个参数。

错误号

错误内容

错误文件

当前错误行

Ø file_put_contents() 将内容写入指定的文件中

@param1:要写入文件的地址

@param2:要写入的内容

@param3:可选参数设置为FILE_APPEND追加数据而不覆盖

返回值:返回写入的字节数

注意:该函数默认以替换的方式写入文件。

如果文件存在,则清空文件后写入。如果文件不存在,创建文件后写入 文件。

猜你喜欢

转载自blog.csdn.net/stout_t/article/details/80245524