首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

ECSHOP 在 PHP 5.5+ 環境下修復 preg_replace() /e 修飾符棄用錯誤

     編輯:PHP 相關知識

錯誤現象與原因

升級至 PHP 5.5 後,ECSHOP 報錯:Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead。原因是 preg_replace() 的 /e 修飾符在 PHP 5.5 中已被棄用,官方建議改用 preg_replace_callback()。

快速修復步驟

  1. 打開 includes/cls_template.php
  2. 尋找:return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);
  3. 替換為:
return preg_replace_callback(
    "/{([^\}\{\n]*)}/",
    function($matches) { return $this->select($matches[1]); },
    $source
);

若其他文件出現類似錯誤,同理替換即可。此修改完美相容 PHP 5.5+,消除棄用警告。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved