在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()前面加@符號