php通知导致大量负载

时间:2012-01-29 15:12:10

标签: php apache drupal-6

我们在负载均衡器后面有3个drupal网络服务器(pressflow 6.22)。由于更新,我们从php收到大量通知,而我们尝试修复这些,我只是想禁用通知。所以我从

改变了PHP.ini
error_reporting  =  E_ALL

error_reporting = E_ALL & ~E_NOTICE

一旦我这样做,加载的机器就会飙升30倍,数据库连接数翻倍。

一旦我把它放回去,一切都恢复正常。

我不明白如何压制通知会导致如此多的悲伤。它只是在php上花费很多开销来过滤掉那些东西吗?

很多这些错误来自核心和主要模块,因此在某些情况下我不想破解模块来修复通知,这是否意味着我只需要和它们一起生活?

TIA

1 个答案:

答案 0 :(得分:1)

嗯,在内部,通知仍然被触发,只是没有显示或记录。通常这不是问题,然而如果你定义自己的set_error_handler,代码可能会搞砸...通常,它应该做类似if($errno & error_reporting()){/* only then do something */}的事情,但是如果您定义自己的错误处理程序,则可能需要检查该代码(或发布它)。