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

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.