Ben bir "Onaylanmamış" olsun

5 Cevap php

Bu gibi 20'den fazla mesaj varsa benim siteler sayfasında aşağıdaki mesajı alıyorum ... lütfen bana sorunu düzeltmek için rehberlik ... Ben PHP 5.3.0 kullanıyorum

Deprecated: Function eregi() is deprecated in C:\wamp\www\bannerbuzz\includes\classes\language.php on line 87

> UPDATE : Is there any way to switch off this display of error?

5 Cevap

Kullanmak için PHP 5.3, o artık desteklenmiyor, önerilmiyor bazı şeyler vardır, ancak, php 5.3 onlar için bir alternatif söz konusudur.

Tam listesine bakın:

Deprecated features in PHP 5.3.x

Note: ereg kaldırılır, sen preg fonksiyonların ailesi yerine kullanabilirsiniz.

Fonksiyonu önerilmemektedir çünkü belki? Her zaman error_reporting ayarlarını değiştirebilirsiniz, ama o daha iyi olduğunu sen stop using deprecated functions!

Dan PHP.net:

Bu işlev PHP 5.3.0 ÖNERİLMEMEKTEDİR olmuştur. Bu özelliği dayanarak önerilmez.

Ben de PHP 6 olarak kaldırılır inanıyoruz. Neden sadece preg_match kullanmak değil mi?

The correct answer to your question is: use a different error setting on your site. You can do that in one of 3 ways.

Change the php.ini file, if you have the right to.

error_reporting  =  E_ERROR
display_errors = Off

Add an .htaccess file to the root directory of your site You also have to have the right to do this. Add the following lines:

php_flag display_errors off
php_value error_reporting E_ERROR

Execute the following statements in the beginning of your script

error_reporting(E_ERROR);
ini_set("display_errors","Off");

Ancak, verilen diğer yanıtlar ile elbirliği içinde, hatalar are hataları almak ve bunları gidermek gerekir. Eğer geliştirme ortamı hataları göstermek ve üretim ortamında onları bastırmak ve oturum açmak istediğiniz çoğu zaman. Ama her zaman bunları çözmek istiyoruz.

Hataları hakkında daha fazla bilgi için PHP manual göz atın.

Benim durumumda, ben eregi fonksiyonu kullanan bir üçüncü taraf kitaplığı kullanıyorum. Bu durumda, bu uyarıları gizlemek için kolay bir çözüm var. Sadece başında ve kodunun sonunda ob_start () ve ob_end_clean () yerleştirin:

ob_start();
// third party code
// and more code ...
if (eregi("blah", $var)) {  // <-- this code is throwing a warning
    // ..
}
// and more code ...
ob_end_clean();

Ve hepsi bu.

Preg_match veya preg_replace, amortismana tabi olmayan fonksiyonları deneyin :)

Hata seviyesini değiştirmek için:

http://php.net/manual/en/function.error-reporting.php