升級至 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()。
includes/cls_template.phpreturn preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);return preg_replace_callback(
"/{([^\}\{\n]*)}/",
function($matches) { return $this->select($matches[1]); },
$source
);
若其他文件出現類似錯誤,同理替換即可。此修改完美相容 PHP 5.5+,消除棄用警告。