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

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

編輯:關於PHP編程

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


在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