我希望您说明为什么有人不应该在PHP中使用尽可能高的错误报告级别?
设置最高级别的方法:
PHP< 5.4:
error_reporting(E_ALL | E_STRICT);
PHP> = 5.4:
error_reporting(E_ALL);
PHP 所有版本(建议用于config files):
error_reporting(2147483647);
PHP 所有版本(我的配置,-1将包含所有错误并且易于记忆)
error_reporting(-1);
我的经历:
答案 0 :(得分:22)
我个人更喜欢以最高级别的错误报告进行编码,并修复我的代码生成的所有警告。但是,我可以设想一些原因,您可能希望在较低级别工作:
关闭主题:在生产环境中,您应该运行“display_errors = Off”和“error_logging = On”以防止用户看到PHP错误(可能包含敏感信息,例如数据库连接属性),并收集错误日志他们发生了。因此,您的生产error_reporting级别和相关设置可能与您希望在开发中运行的不同。
答案 1 :(得分:2)
我认为没有充分的理由,除了Jim在他的第一点所说的,运行不能或不会改变的遗留代码。
你应该在开发过程中以最高级别运行它并消除所有警告和通知,除非你有充分的理由不这样做。
如果你有充分的理由不在开发过程中修改通知,你应该记录它并使用错误控制操作符来避免日志混乱。
答案 2 :(得分:1)
除了Jim的观点之外,我总是建议使用最高级别的错误报告进行编码,因为它应该为您提供更好的可移植性和(可疑的)更好的性能。
答案 3 :(得分:0)
从一个系统管理员PoV ......有时你无法对代码 - 遗产或新代码做些什么。一些开发人员没有正确调试,如果你浪费任何时间用一些并不重要的东西(不确定这是否会让任何人感到不安,但如果结果在前后相同,那么经理会看着你好笑)那真的不重要)。我非常高兴我可以禁用通知并专注于任何真正的问题。
此外,这只是一个黑暗中的镜头,但也许有一些方法可以通过使用error_log()调用在调试方面做一些有点花哨的事情。