首页 > 网站 > 建站经验 > 正文

解决ecshop网站模板在php5.5环境上报错方法

2024-04-25 20:38:19
字体:
来源:转载
供稿:网友

服务器环境php大家用的版本不断提高,Ecshop没有来得及修改那么及时。兼容性有问题,有点淘汰了。

在php5.5上安装Ecshop出现报错:

Only variables should be passed by reference

php 5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了

$tag_sel = array_shift(explode(' ', $tag));

改成:

$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);

因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值

修改

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead...?

找到 cls_template.php

$out = "<?php /n" . '$k = ' . preg_replace_callback("/(/'//$[^,]+)/e" , "stripslashes(trim('//1','/''));", var_export($t, true)) . ";/n";

其他页面如果遇此报错,以此类推修改。以上教程仅提供参考.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表