2012-07-22 96 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