今天一个网友找到国外主机优惠,告知他的ECSHOP网站好久没有登录,之前是好好的,这次登入后台登入页面的时候有提示\”Deprecated: preg_replace()\”系列的报错问题,让我帮助解决掉。对于ECSHOP程序国外主机优惠并没有实际使用过,但是可以肯定的国内中文B2C网站大部分都会用这类程序来做。
原因应该是虚拟主机商调整服务器默认PHP版本有一定的关系,因为国外主机优惠知道ECSHOP支持PHP版本较低。这里我暂时不去调整PHP版本,直接从页面代码中调整试试看。
解决方法:
includes/cls_template.php
找到300行:
return preg_replace(\”/{([^\\}\\{\\n]*)}/e\”, \”\\$this->select(\’\\\\1\’);\”, $source);
将替换成
return preg_replace_callback(\”/{([^\\}\\{\\n]*)}/\”, function($r) { return $this->select($r[1]); }, $source);
然后保存后再刷新页面,可以看到提示错误解除掉。