error_reporting(0)
与ini_set('display_errors', 0)
相同吗?如果没有,有什么区别?
我也对此代码的安全方面感兴趣?我可以实现' so malicious users can't probe'这个?
答案 0 :(得分:25)
它们不一样,但在使用中可能会有相同的结果。
error_reporting
是报告级别,无通过ALL。这决定了报告的错误类型(E_NOTICE,E_WARNING,E_ALL等)。
display_errors
是否显示从1报告的错误(输出到浏览器,CLI等...)。
如果设置error_reporting(E_ALL)
和ini_set('display_errors', '0')
,您仍然可以获取日志文件中报告但未显示的所有错误。
使用error_reporting(0)
您不会显示任何错误或在日志中显示display_errors
的值并不重要。
display_errors
应该在生产应用程序中关闭,最好在php.ini
中,以便不显示文件路径,数据库名称和用户名等信息。发送到日志的错误报告是有益的,不应该是安全问题。