簡體   English   中英

我在頁面上收到“已棄用”通知,其中包含一些會話功能

[英]I get a “Deprecated” notice on my page with few of the session functions

我在我的網站頁面上收到以下消息,有20多個這樣的消息...請指導我糾正問題...我正在使用PHP 5.3.0

不建議使用:函數eregi()在第87行的C:\\ wamp \\ www \\ bannerbuzz \\ includes \\ classes \\ language.php中已棄用

>更新:有什么辦法可以關閉此錯誤顯示?

您問題的正確答案是:在您的網站上使用其他錯誤設置。 您可以通過以下三種方式之一進行操作。

如果有權,請更改php.ini文件。

error_reporting  =  E_ERROR
display_errors = Off

將.htaccess文件添加到站點的根目錄中,您還必須具有執行此操作的權限。 添加以下行:

php_flag display_errors off
php_value error_reporting E_ERROR

在腳本開頭執行以下語句

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

但是,與給出的其他答案一致,您得到錯誤就是錯誤,應該解決。 大多數時候,您想在開發環境中顯示錯誤,並在生產環境中排除和記錄錯誤。 但是您始終想解決它們。

查閱PHP手冊以獲取有關錯誤的更多信息。

也許是因為該功能已被棄用? 您可以隨時更改error_reporting設置,但是最好不要使用不推薦使用的功能

PHP.net

自PHP 5.3.0起已棄用此功能。 強烈建議不要使用此功能。

我相信從PHP 6起它也會被刪除。為什么不只使用preg_match?

在PHP 5.3中,有些東西已被棄用,不再受支持,但是在php 5.3中有一種替代方法供您使用。

查看完整清單:

PHP 5.3.x中不推薦使用的功能

注意: ereg被刪除,您可以改用preg系列功能。

就我而言,我正在使用利用eregi函數的第三方庫。 在這種情況下,有一個簡單的解決方案可以隱藏這些警告。 只需將ob_start()和ob_end_clean()放在代碼的開頭和結尾:

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

就這樣。

嘗試preg_match或preg_replace,未折舊的函數:)

要更改錯誤級別:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM