今天一个网友找到老蒋,告知他的ECSHOP网站好久没有登录,之前是好好的,这次登入后台登入页面的时候有提示"Deprecated: preg_replace()"系列的报错问题,让我帮助解决掉。对于ECSHOP程序老蒋并没有实际使用过,但是可以肯定的国内中文B2C网站大部分都会用这类程序来做。

原因应该是虚拟主机商调整服务器默认PHP版本有一定的关系,因为老蒋知道ECSHOP支持PHP版本较低。这里我暂时不去调整PHP版本,直接从页面代码中调整试试看。
解决方法:


includes/cls_template.php

找到300行:

return preg_replace("/{(1*)}/e", "$this->select('\1');", $source);

将替换成

return preg_replace_callback("/{(2*)}/", function($r) { return $this->select($r[1]); }, $source);


然后保存后再刷新页面,可以看到提示错误解除掉。


  1. }{\n
  2. }{\n

扫描二维码,在手机上阅读!