记录php时出错 - error_reporting(0)没有预期的效果

ped*_*ete 3 php error-handling

我有一个非常简单的页面,它获取一个URL并解析一些数据.

我已经在我的页面中内置了一些错误处理,如果响应是404错误.

但是,我似乎无法阻止php吐出以下错误

 Warning: file_get_contents(http://url-to-retrieve.com/123.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/html/maickl/procs/get.php on line 84

Notice: Undefined offset: 0 in /var/www/html/maickl/procs/get.php on line 91

我用这个页面开始

error_reporting(0)

有关为什么会发生这种情况的任何建议,为什么这些错误没有被抑制(似乎只在这个页面上),以及我能做些什么呢?

Pas*_*TIN 6

使用error_reporting(0);shoud禁用错误报告,这意味着你不应该得到那个错误 - 你确定它没有在某个地方重新启用吗?


但实际上,你可能正在寻找的不是改变error_reporting,而是禁用display_errors,这可以使用像这样的代码来完成:

ini_set('display_errors', 'Off');
Run Code Online (Sandbox Code Playgroud)

有了这个 :

  • 错误/警告不会显示在您的网站上,这对最终用户来说很不错(绝不应该显示技术错误)
  • 但是error_reporting没有禁用,这意味着可以/仍然会记录错误 - 请参阅log_errorserror_log.


小智 5

还要记住,如果已设置用户定义的错误处理函数,则error_reporting()完全忽略设置.