2013-05-18 21 views
-2

我得到這些錯誤的PHP:關掉PHP嚴格的報告在生產

Strict Standards: Redefining already defined constructor for class WP_Widget in /home/kyle/WordPressDev/wp-includes/widgets.php on line 93 

Strict Standards: Non-static method AisisCore_Loader_AutoLoader::get_instance() should not be called statically in /home/kyle/WordPressDev/wp-content/themes/Aisis-Framework/CoreTheme/Setup.php on line 6 

Strict Standards: Accessing static property AisisCore_Template_Builder::$_options as non static in /home/kyle/WordPressDev/wp-content/themes/Aisis-Framework/AisisCore/Template/Builder.php on line 51 

Strict Standards: Accessing static property AisisCore_Template_Builder::$_options as non static in /home/kyle/WordPressDev/wp-content/themes/Aisis-Framework/AisisCore/Template/Builder.php on line 69 

Strict Standards: Accessing static property AisisCore_Template_Builder::$_options as non static in /home/kyle/WordPressDev/wp-content/themes/Aisis-Framework/AisisCore/Template/Builder.php on line 70 

這是非常愉快的發展環境,但我有一個生產環境中顯示這些錯誤,現在我在我的PHP設置.ini error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT然後我重新啓動了Apache,但仍然出現了相同的錯誤,同時修復它們非常棒,我需要這些錯誤消失。

+0

你試過'error_reporting = 0'嗎? – Halcyon

+0

你想顯示什麼錯誤?默認的PHP設置不適合你嗎 - 'error_reporting(E_ALL^E_NOTICE)' - 除了通知之外的所有內容?如果你不想要任何錯誤,請全部禁用它們,就像@FritsvanCampen所建議的那樣,但最好的辦法就是修復這些錯誤 - 它們是出於某種原因顯示的! –

回答

0

嘗試將error_reporting更改爲E_ALL & ~(E_DEPRECATED | E_STRICT)

+0

錯誤仍然存​​在 – TheWebs

+0

請參閱:http://wordpress.org/support/topic/disable-error-reporting-in-wordpress WordPress可能會覆蓋'php.ini'值。 – MartynSW

2

您應該隱藏生產中用戶的所有錯誤,並將其記錄下來。

要做到這一點,設置的display_errors爲關

display_errors = Off 

而且只設置使用error_reporting登錄一切

error_reporting = E_ALL | E_STRICT 
+0

這不起作用,如果您訪問:http://adambalan.com/WordPressDev/你會發現錯誤仍然存​​在.... – TheWebs

+1

請嘗試Martyn建議的鏈接解決方案。但不是使用error_reporting,而是使用'ini_set(「display_errors」,0);'因爲它可以確保仍然記錄錯誤。如果這不起作用,這可能是您的主機權限,Apache/PHP不重新加載配置。測試它的最好方法是在你的服務器上用'<?php phpinfo()'行創建一個php文件。 ?>'並檢查值是否已更新。 – pseudoh

0

使用phpinfo()看向你的運營php.ini路徑。也許還有另外一個系統使用的php.ini