2013-10-25 16 views
9

Aramaları error_reporting ile kalbura bir uygulama çalıştırıyorum ama amorti uyarıların bir yeri vardır PHP 5.5 çalıştırıyorum. Php.ini dosyasını doğru şekilde yapılandırdım.PHP'yi çalışma zamanında error_reporting() öğesini yok saymak için nasıl yapılandırabilirim?

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT 

Ancak, tüm error_reporting() çağrıları geçersiz kılar. Çalışma zamanı aramalarını error_reporting() öğesine aldırmamak için herhangi bir yol var mı? Tüm reportingi değiştirme

() çağıran uygulama düzenli olarak güncellenen gerekecektir ve ben bir post kesmek komut dosyası yüklemek çalışan önlemek istiyorsanız, özellikle gerçek bir güçlük olduğunu. Ben uygulamanın adını bahsetmek istemiyorum

, bu yoktur VBulletin 5.

+0

" Uygulamanın adını belirtmek istemiyorum, VBulletin 5. " Evet. Bir uygulamada 'error_reporting()' çağrısı varsa, bu kötü PHP geliştiricileri için bir ipucudur. 'error_reporting', ony sunucu yapılandırması ile ayarlanmalıdır (yani php.ini'). – feeela

+0

'str_replace ('error_reporting', '', $ code); siz "zorlamak" bir işlev yeniden tanımlamak eğer' ;-) –

+0

iyi olurdu. JavaScript’te yapabileceğiniz gibi. Oh iyi. –

cevap

8

var bir ini sertleşen Eğer error_reporting() işlevini devre dışı bırakmak için kullanabilirsiniz disable_functions. Bu şekilde uygulama, bu fonksiyon üzerinden hata raporlama seviyesini ayarlayamaz.

disable_functions = error_reporting 

Yalnızca dahili fonksiyonlar bu yönergesini kullanarak devre dışı bırakılabilir. Kullanıcı tanımlı fonksiyonlar etkilenmez. Bu yönerge php.ini olarak ayarlanmalıdır. Örneğin, bunu httpd.conf dosyasında ayarlayamazsınız.

Bkz: http://www.php.net/manual/en/ini.core.php#ini.disable-functions

+0

A. –

+6

Kötülükle * aşırı * kötülükle mücadele. Bunu sevdim! +1 :) –

4

Eğer overriden olamaz bir değere error_reporting ayarlamak için php_admin_value kullanabilirsiniz sunucu yapılandırmanız üzerinde kontrol varsa.

the documentation'a göre, bu .htaccess dosyasında kullanılamaz, dolayısıyla tüm sunucuda kullanmanız gerekecektir ... belki biraz fazla.

başka olasılık hata raporlama kapatılır için disable_functions kullanmak olacaktır. Olumsuz bir kullanıldığı her seferinde bir uyarı alacak olurdu, ama o sorunun üstesinden gelebilirsiniz:

Yalnızca belirtilen senaryoyu etkiler Php.ini bir bölüm ekleyebilirsiniz

:

[PATH=<path>] 
error_reporting = 0 
disable_functions = "error_reporting" 
+0

Hahah. Evet uyarılar, ama düşündüğüm şey bu. Ta –

İlgili konular