ecshop 报错

ECShop出现Strict Standards: Only variables should be passed b

(2014-06-04 17:00:37)

转载▼

标签:

ecshop

报错

strictstandards

it

分类: ECshop

今天开始研究ECShop,在安装完成的时候发现首页顶部、左侧和底部出现:

Strict Standards: Only variables should be passed by reference in F:\wamp\www\ecshop\upload\includes\cls_template.php on line 418

的报错信息。

第一种解决方法是杀到cls_template.php文件中发现下面这段代码:


1

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

忘记说了,我的PHP版本是5.4.19,PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递,所以这段代码中的explode就得移出来重新赋值了:

?


1

2

$tagArr = explode(‘‘,$tag);

$tag_sel = array_shift($tagArr);

这样之后顶部的报错没掉了,左侧和底部的报错还需要去ecshop的后台点击清除缓存才能去除。

第二种解决方法就是去php.ini里面修改error_reporting,改成error_reporting=E_ALL & ~E_STRICT,这个意思是显示所有除了严格模式的错误。

改完了之后需要到 ecshop\upload\includes\init.php中,将第45行的:


1

@ini_set(‘display_errors‘,       1);

改成:


1

@ini_set(‘display_errors‘,       0);

这样ecshop\upload\includes\cls_template.php中的代码可以不用改,而且程序可以正确运行,缓存记得去后台清除下。

上面两种方法,我觉得第一种方法比较好,治标要治本,第二种方法有点像是hack过去,而且错误输出关闭对开发本身一件不好的事情,不过如果你在开发环境开启了所有的报错,正式环境关闭所有的报错这样也是没有什么问题的。

ecshop 报错

时间: 2024-10-09 19:34:32

ecshop 报错的相关文章

关于ECSHOP模板架设的服务器php版本过高报错的解决

1.admin/index.php admin/sms_url.php  ECSHOP模板 报错:Strict Standards: mktime(): You should be using the time() function instead in /data/web/ledetaoadmin/sms_url.php on line 31 $auth = mktime(); 替换为: $auth = time(); 报错:Strict Standards: Only variables s

ecshop后台支付方式的报错(2)

chinapay\netpayclient.php(2) : eval()'d code(1) :解决方法 在ecshop上安装银联支付的插件后,刷新返回支付方式,然而只要执行netpayclient.php文件就会报错: Fatal error: Cannot redeclare hex2bin() in /Applications/XAMPP/xamppfiles/htdocs/amf/includes/modules/payment/chinapay/netpayclient.php(2)

ecshop发票不能使用出现flow.php on line 723等报错

最模板给客户ecshop网站做编码转换出现个问题,网站在点结算页面出现Warning: Invalid argument supplied for foreach flow.php on line 723报错 找到723行代码是: foreach ($_CFG['invoice_type']['type'] as $key => $type) { if (!empty($type)) { $inv_type_list[$type] = $type . ' [' . floatval($_CFG[

为什么我的ECSHOP出现报错改正确了还是没有反应?

我在刚开始安装完ecshop之后就如首页就开始报如下的错误: Strict Standards: Only variables should be passed by reference in C:\diyServ\apps\EcShop\includes\cls_template.php on line 422 在网上可以搜到这个解决办法就是:由于在php5.3之后php函数返回的是一个值,而explode函数接收的参数必须是一个引用,所以要求必须是变量,将下面的写法 array_shift(

关于ECSHOP模板架设的服务器php版本过高报错的解决方法(二)

ECShop安装之后,在后台发现一个错误,这个错误提示的意思:mktime()方法不带参数被调用时,会被抛出一个报错提示. ECShop安装之后,在后台发现一个错误提示: Strict Standards: mktime(): You should be using the time() function instead in :\wamp\www\dqzhubao.com\shinamondadmin\sms_url.php on line 31 Strict standards: mktim

ECSHOP如何解决DEPRECATED: PREG_REPLACE()报错

类似这样的报错: Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in D:\wyh\ecshop\includes\cls_template.php on line 300 1.错误原因:preg_replace() 函数中用到的修饰符 /e 在 PHP5.5.x 中已经被弃用了.如果你的PHP版本恰好是PHP5.5.X,那你的ECSHOP肯定就会报类似这样

ECshop安装及报错解决方案总结

一.安装ECshop ECShop是一款B2C独立网店系统 ,适合企业及个人快速构建个性化网上商店.系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序.2006年3月推出以来1.0版以来,受到市场的检验,广受好评. 1.安装准备 ECshop最新版本为2.7.3,有UTF8和GBK两种版本,建议使用前者,理由可以自己百度一下.这里我使用的也是ECShop_V2.7.3_UTF8_release1106.rar版本进行开发. 解压文件后里面有三个文件夹: 我们需要的是upload这个文

ECShop添加新模块,管理权限报错

提示报错信息: Warning: join(): Invalid arguments passed in D:\phpStudy\WWW\TimmyMall\admin\privilege.php on line 607 Warning: Invalid argument supplied for foreach() in D:\phpStudy\WWW\TimmyMall\admin\privilege.php on line 609 解决方法: 权限数据库,新加模块的parent_id找不到

oracle安装故障:完美解决xhost +报错: unable to open display “”

oracle安装 先切换到root用户,执行xhost + 然后再切换到oracle用户,执行export DISPLAY=:0.0 出现乱码执行export LANG=US_en 在这里给大家介绍下两种情况的常见问题: 一种是本地运行的命令,另一种则是远程ssh命令安装. DISPLAY科普 DISPLAY变量是用来设置将图形显示到何处.比如CENTOS,你用图形界面登录进去,DISPLAY自动设置为DISPLAY=:0.0表示显式到本地监视器,那么通过终端工具(例如:xshell)进去,运行