ecshop运行的一个问题。急!

ecshop电子商城开源软件,安装好后进入首页的时候报这样1个警告是什么原因啊?如何解决?
Warning: preg_replace_callback(): Modifier /e cannot be used with replacement callback in D:\myweb\www\ecshop\includes\cls_template.php on line 1072
相关代码如下:
if ($file_type == '.dwt')
{
/* 将模板中所有library替换为链接 */
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->';
$replacement = function ($r) { return '{include file='.strtolower($r[1]). '}';};
$source = preg_replace_callback($pattern, $replacement, $source);
我的php是5.5.11最新处版的
我用的ecshop是2.7.3官方最新版
相关代码更正如下:
if ($file_type == '.dwt')
{
/* 将模板中所有library替换为链接 */
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/es';
$replacement = function ($r) { return '{include file='.strtolower($r[1]). '}';};
$source = preg_replace_callback($pattern, $replacement, $source);

ecshop是2.7.3

服务器端运行环境推荐
·php版本5.0以上5.3以下的版本(推荐使用5.2系列版本)
·Mysql版本5.0及以上
·空间安装zend
·空间支持文件锁功能
·开启GD功能
·Mysql函数支持mbstring、iconv、fsockopen

现在你的PHP 版本太高了:你的php是5.5.11,看了你的代码:

$source = preg_replace_callback($pattern, $replacement, $source);这一句替换的不对,

有的资料讲:

//$source = preg_replace($pattern, $replacement, $source);

修改后内容:
$source = preg_replace_callback($pattern,
function ($matches) { return '{include file='.strtolower($matches[1]). '}';},
$source);
替换为后,上传到服务器.然后进入后台,清空缓存即可.

但我试过了还是不行,我也正在研究这个问题。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-27
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/es';
$source = preg_replace($pattern, $replacement, $source);
将上面一行的字母“e"去掉,就好了!
正确代码是:
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s';
function ($matches) { return '{include file='.strtolower($matches[1]). '}';},
$source);
第2个回答  2015-09-23
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/es';
||

$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s';
第3个回答  推荐于2017-05-24
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/es';

将上面一行的字母“e"去掉,就好了!
第4个回答  2014-05-31

如果软件来自官方下载

那么肯定就是环境服务器问题了

第5个回答  2014-05-31
貌似你运行环境有问题 网站系统文件不会错的,除非你下载的山寨的或是别人修改过的。

进入后台 清空缓存试一下 我不是高手 单我用这个用了3年了,经验就是 出问题 一般都是环境的问题