2012-07-22 57 views
1

ini_set阅读php.net's example设置display_errors的:PHP的ini_set php.net手册的display_errors例子说明

<?php 
echo ini_get('display_errors'); 

if (!ini_get('display_errors')) { 
    ini_set('display_errors', '1'); 
} 

echo ini_get('display_errors'); 
?> 

有一个很好的理由,为什么我们要检查,看看是否display_errors是假的之前,我们把它设置为真正?当然,如果这是我们的意图,那么不妨检查一下,并将其设置为真就更快了?

如果有人能够启发我,我会非常感激;我应该做些与error_reporting(-1);类似的事情吗?

谢谢大家!

回答

4

是否有一个很好的理由,我们为什么要检查display_errors是否为false,然后将其设置为true?

这是一个例子。不,没有更深的原因。用“真”覆盖“真”也是有效的。

当然,如果这是我们的意图,它会更快,没有麻烦检查,只是将其设置为真?

我想你很少会觉得有什么区别,不管你先检查一下,还是不检查一下。

但是:您应该使用php.ini这个和更重要的:从来没有在实时系统上启用display_errors

2

嗯,是我在我的本地,这实际上似乎表明,如果display_errors已经设置,那么它实际上更快来检查它是否已经被设置,而不是仅仅把它快速测试。

这是相当微不足道的,因为我必须运行一百万次循环才能真正注意到差异,即使这样它也不是很多(大约10%),但似乎确实存在。我想这会表明set_iniget_ini做的多一点。

也许别人能证实?

我想在实践中,这是非常没用的,因为你真的不希望display_errors在真实网站上设置为真,所以微型性能优化并不是一个问题。

除此之外,不能想到为什么你想要检查前面的原因。

+0

你用什么做基准测试? Xdebug的? Zend调试? – 2012-07-22 01:22:35

+0

真的很棒的答案,谢谢!我知道这只是一个小数目,但出于兴趣,检查'error_reporting()'也是一样吗? – 2012-07-22 13:40:31

+0

+1用于测试处理速度差异! – DeeperID 2014-02-27 00:43:29