PHP错误报告与显示错误
PHP错误报告与显示错误,php,error-handling,Php,Error Handling,error\u reporting(0)是否与ini\u set('display\u errors',0)相同?如果没有,有什么区别 我也对这个代码的安全方面感兴趣?我能用这个实现吗?它们不一样,但在您的使用中可能会有相同的结果 error\u reporting是报告的级别,始终为零。这决定了报告的错误类型(E_通知、E_警告、E_全部等) display_errors是指是否显示从1报告的错误(输出到浏览器、CLI等) 如果设置了error\u reporting(E\u ALL)和ini
error\u reporting(0)
是否与ini\u set('display\u errors',0)
相同?如果没有,有什么区别
我也对这个代码的安全方面感兴趣?我能用这个实现吗?它们不一样,但在您的使用中可能会有相同的结果
error\u reporting
是报告的级别,始终为零。这决定了报告的错误类型(E_通知、E_警告、E_全部等)display_errors
是指是否显示从1报告的错误(输出到浏览器、CLI等)error\u reporting(E\u ALL)
和ini\u set('display\u errors','0')
,您仍然可以获得日志文件中报告但未显示的所有错误
使用error\u reporting(0)
不会在日志中显示任何错误,而且display\u errors
的值也无关紧要
display\u errors
应该在生产应用程序中关闭,最好是在php.ini
中,这样就不会显示文件路径、数据库名和用户名等信息。发送到日志的错误报告是有益的,不应该是一个安全问题。唯一的区别是:“虽然可以在运行时设置显示错误(使用ini\U set()),但如果脚本有致命错误,则不会产生任何影响。这是因为所需的运行时操作没有执行。”@AmalMurali-这两个函数都是如此。PHP文件在执行该文件中的任何代码之前都会被完全解析,因此,如果同一文件中存在解析错误,则您用于启用错误报告的任何函数都不会被执行。我可以用它们来执行此安全任务吗?您希望在应用程序中关闭显示\u错误
,或者最好是PHP.ini
。发送到日志的错误报告是有益的,不应成为安全问题。