[英]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中有一種替代方法供您使用。
查看完整清單:
注意: 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();
就這樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.