如何攔截到 php 的 notice, warning 錯誤?

发布于 2022-09-06 21:59:07 字数 275 浏览 22 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

下壹個目標 2022-09-13 21:59:07

用户看到?
一般在生产系统里,都是把php.ini里的display_errors设置成off,这样用户页面只要能渲染,在前端层面是不会出现错误信息的。而在开发时,可以通过在文件开始位置写上:

error_reporting(E_ALL); 
ini_set("display_errors", 1);

来临时开启报错功能,不过我个人觉得用的不多,一般都是页面完全渲染不出来(算是重大错误吧)才会打开,平时都是通过error_log在关键点上主动打log的,这样开个bash或者ssh窗口用tail -f error.log直接就能看到运行情况,当然用框架有单独错误处理的不说了,反正都大同小异。

另外你看下php.ini文件吧,注释里边写的很清楚有开发和生产两套配置,一般按生产系统那套就行。

无所的.畏惧 2022-09-13 21:59:07

set_error_handler,set_exception_handler,register_shutdown_function这三个方法,可以找各种框架看看他们的错误异常接管,也可以用whoops这种现成的类库。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文