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
    。发送到日志的错误报告是有益的,不应成为安全问题。