如何攔截到 php 的 notice, warning 錯誤?
Notice: Undefined property: stdClass::$xxx in /Applications/xxx/xxx/xxx/xxx.php on line 35
Warning: Invalid argument supplied for foreach() in /Applications/xxx/xxx/xxx/xxx.php on line 35
上面類似這種的錯誤
要如何能夠攔截呢?
如果可以的話我想改成自己的解釋
用戶看到也不會怪
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
用户看到?
一般在生产系统里,都是把php.ini里的display_errors设置成off,这样用户页面只要能渲染,在前端层面是不会出现错误信息的。而在开发时,可以通过在文件开始位置写上:
来临时开启报错功能,不过我个人觉得用的不多,一般都是页面完全渲染不出来(算是重大错误吧)才会打开,平时都是通过error_log在关键点上主动打log的,这样开个bash或者ssh窗口用
tail -f error.log
直接就能看到运行情况,当然用框架有单独错误处理的不说了,反正都大同小异。另外你看下php.ini文件吧,注释里边写的很清楚有开发和生产两套配置,一般按生产系统那套就行。
set_error_handler
,set_exception_handler
,register_shutdown_function
这三个方法,可以找各种框架看看他们的错误异常接管,也可以用whoops这种现成的类库。