我们有一个应用程序,其中包括一个非常非常古老的类,用于连接到专有数据库的API。这段代码生成了大量的弃用错误,然后被记录下来,污染了我们的日志文件。
我们希望基本上只忽略这个供应商提供的类的弃用错误,但我在寻找最佳方法时遇到了麻烦。我看到的选项:
**使用@
抑制警告。**它看起来像this does not work for includes,仅适用于返回值的函数。
**创建一个包含include的 Package 脚本,并关闭include语句之前的警告。**作为ini_set
acts globally,关闭所有弃用警告,这不是一个可行的解决方案。
**更新供应商提供的脚本。**我们宁愿不走这条路,考虑到额外的工作和维护,如果一个新版本到达,不完全解决这些错误,但增加了新的功能,例如。
有没有其他选项可以禁用我缺少的这个特定供应商库中的警告?
2条答案
按热度按时间4uqofj5v1#
您可以附加一个用户错误处理程序,以便在PHP看到错误之前将其处理掉。这个处理程序只会在错误库的源代码中生成错误时进行干预。举例来说:
你可以像这样使用这个类:
include_path
原始建议可通过答案的编辑历史记录获得。选择你的毒药。*4sup72z82#
您可以附加错误处理程序,以防止/vendor/目录报告错误,或者仅附加单个库。
这个代码片段假设我们需要跳过的弃用都在/vendor/目录中。
当回调函数返回false时,PHP将回退到正常的方式处理错误。如果回调函数返回true,PHP会认为我们已经自己处理了错误,不再做进一步的处理。