1

阅读php.net 的display_errors设置示例ini_set

<?php
echo ini_get('display_errors');

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

echo ini_get('display_errors');
?>

是否有充分的理由说明为什么我们在display_errors将其设置为真之前检查是否为假?如果这是我们的意图,那么不打扰检查并将其设置为 true 肯定会更快吗?

如果有人能就此启发我,我将不胜感激;我也应该做类似的error_reporting(-1);事情吗?

谢谢你们!

4

2 回答 2

4

是否有充分的理由说明为什么我们在将 display_errors 设置为 true 之前检查它是否为 false?

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

当然,如果这是我们的意图,那么不用检查并将其设置为 true 会更快吗?

我想你很少会感觉到任何不同,不管你先检查还是不检查。

但是:您应该php.ini为此使用,更重要的是:永远不要display_errors在实时系统上启用!

于 2012-07-22T00:08:38.617 回答
2

好吧,我在我的本地主机上做了一个快速测试,它实际上似乎表明如果display_errors已经设置,那么检查它是否已经设置实际上比设置它要快

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

也许其他人可以确认?

我想在实践中这没什么用,因为你真的不想display_errors在实时站点上设置为 true,所以微性能优化不是那么重要。

除此之外,想不出你为什么要预先检查的原因。

于 2012-07-22T00:22:57.693 回答