程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php 升級到 5.3+ 後出現的一些錯誤,如 ereg(); ereg_replace(); 函數報錯

php 升級到 5.3+ 後出現的一些錯誤,如 ereg(); ereg_replace(); 函數報錯

編輯:PHP綜合

在php5.3環境下運行,常常會出現

 Deprecated: Function ereg() is deprecated in...和Deprecated: Function ereg_replace() is deprecated in...這些類型的報錯提示。

  其原因在於:php5.3以上的版本不支持ereg()函數,而是使用preg_match()函數;不支持ereg_replace()函數,而使用preg_replace()函數。

  解決方法:將不支持的函數修改為支持的函數即可。  

      例如

 復制代碼 代碼如下:
 if(eregi('^('value', $value)

  改為:

 復制代碼 代碼如下:
 if(preg_match('/value/', $value)  

  再例如:

  復制代碼 代碼如下:
$string = ereg_replace(' value', ' ', trim($string));

  改為:

復制代碼 代碼如下:
  $string = preg_replace('{ value}', ' ', trim($string));

解決Deprecated: Assigning the return value of new by reference is deprecated in報錯

因為我們現在php是5.3的原因,在php5.3之中可以直接用”=”,而之前因為在本地上測試都是5.3以下的php環境用的是”=&”符號。

在 5.3版本之後已經不允許在程序中使用”=&”符號。如果你的網站出現了Deprecated: Assigning the return value of new by reference is deprecated in 錯誤,別著急,先定位到出錯的文件,查找下是不是在程序中使用了”=&”,發現使用了”=&”符號,去掉‘&'符號之後程序運行 正常。

問題:Deprecated: Function set_magic_quotes_runtime() is deprecated in

導致這個提示的原因是在PHP5.3後此特性(set_magic_quotes_runtime())已經關閉。

而且在PHP6中已經完全移除此特性。

你可以注釋或者刪除掉出錯的行,或者是在set_magic_quotes_runtime()前面加@符號

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved