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
上面類似這種的錯誤
要如何能夠攔截呢?
如果可以的話我想改成自己的解釋
用戶看到也不會怪
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
上面類似這種的錯誤
要如何能夠攔截呢?
如果可以的話我想改成自己的解釋
用戶看到也不會怪
set_error_handler
,set_exception_handler
,register_shutdown_function
这三个方法,可以找各种框架看看他们的错误异常接管,也可以用whoops这种现成的类库。
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答566 阅读✓ 已解决
784 阅读
用户看到?
一般在生产系统里,都是把php.ini里的display_errors设置成off,这样用户页面只要能渲染,在前端层面是不会出现错误信息的。而在开发时,可以通过在文件开始位置写上:
来临时开启报错功能,不过我个人觉得用的不多,一般都是页面完全渲染不出来(算是重大错误吧)才会打开,平时都是通过error_log在关键点上主动打log的,这样开个bash或者ssh窗口用
tail -f error.log
直接就能看到运行情况,当然用框架有单独错误处理的不说了,反正都大同小异。另外你看下php.ini文件吧,注释里边写的很清楚有开发和生产两套配置,一般按生产系统那套就行。