您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshop安装常见报错的处理方法
翠风2025-01-14Ecshop商城教程已有人查阅
导读在安装Ecshop的时候,会遇到几个问题:1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\X\ \ecshop\install\includes
在安装Ecshop的时候,会遇到几个问题:
1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\X\ \ecshop\install\includes\lib_installer.php on line 31
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
方法1:将function gd_version()改成static function gd_version()即可。
方法2:或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
2.检测环境的时候提示:是否支持 JPEG是不支持的。
解决:查看发现有libjpeg.lib库,GD2库也有,都加载了,也都正常。查看ecshop源代码发现install/includes/lib_installer.php中第100行,JPEG写成了JPG,正确的应该是:
3.默认时区问题:Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in D:\X\ \ecshop\install\includes\lib_installer.php on line 225
解决:
方法1,将php.ini里是date.timezone前的";"去掉,改成:date.timezone = PRC;
方法2,在页头使用 ini_set('date.timezone','Asia/Shanghai');
方法3,在页头使用date_default_timezone_set()设置 date_default_timezone_set('PRC'); //东八时区 echo date('Y-m-d H:i:s');
4、Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
第418行:
方法1:这个是5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
解决办法 2(屏蔽错误) :
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
php.ini中有如下设置:
改为
1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\X\ \ecshop\install\includes\lib_installer.php on line 31
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
方法1:将function gd_version()改成static function gd_version()即可。
方法2:或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
$p = new cls_image();
return $p->gd_version();
(根据小泉经验推荐方法2)2.检测环境的时候提示:是否支持 JPEG是不支持的。
解决:查看发现有libjpeg.lib库,GD2库也有,都加载了,也都正常。查看ecshop源代码发现install/includes/lib_installer.php中第100行,JPEG写成了JPG,正确的应该是:
$jpeg_enabled = ($gd_info['JPEG Support'] === true) ? $_LANG['support'] : $_LANG['not_support'];
为何说Ecshop写错了,因为我打印数组$gd_info的时候,里面的键名是:JPEG Support。而$gd_info数组里的值都是直接调用系统环境变量的。3.默认时区问题:Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in D:\X\ \ecshop\install\includes\lib_installer.php on line 225
解决:
方法1,将php.ini里是date.timezone前的";"去掉,改成:date.timezone = PRC;
方法2,在页头使用 ini_set('date.timezone','Asia/Shanghai');
方法3,在页头使用date_default_timezone_set()设置 date_default_timezone_set('PRC'); //东八时区 echo date('Y-m-d H:i:s');
4、Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
第418行:
$tag_sel = array_shift(explode(' ', $tag));
解决:方法1:这个是5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了
$tag_sel = array_shift(explode(' ', $tag));
改成:
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
解决办法 2(屏蔽错误) :
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
php.ini中有如下设置:
error_reporting = E_ALL | E_STRICT
这是说,显示那些不符合编码规范的警告(coding standards warnings)。改为
error_reporting = E_ALL & ~E_NOTICE
本文标签:
很赞哦! ()
相关教程
图文教程
ecshop后台订单批量删除方法
ecshop删除订单时首先要将订单设置成无效或者是取消,然后才能删除,但是如果要快速删除所有的订单应该如何做呢?
ecshop微信token验证失败怎么办
客户在对接微信公众号时,微信公众号提交开发者时,提示token验证失败错误,下面请大家跟随ECSHOP代码号的技术学习一下测试处理方法:
ecshop不同文章内页调用不同文章模板
ECSHOP不同文章调用不同文章模板:跟目录文章PHP:article.php搜索:大概在124行
ecshop商品详情页显示品牌LOGO的方法
ecshop商品详细页面的商品品牌默认是以文字形式显示的,能否改成以LOGO形式显示。当然可以,下面看教程。注:本教程以 ECSHOP2.7.2 + 官方默认模板 为例。
相关源码
-
(自适应响应式)html5蓝色智能水表营销型网站pbootcms模板下载PbootCMS内核开发,为智能水表企业打造的营销型网站解决方案,本模板基于PbootCMS内核开发,为智能水表及相关行业企业设计,采用HTML5+CSS3技术构建,具有响应式布局。查看源码 -
自适应营销型IT网络工作室互联网建站公司pbootcms网站模板为IT网络服务商、建站企业打造的高性能营销门户,基于PbootCMS开源内核深度开发采用HTML5自适应架构,实现PC与手机端数据实时同步交互。查看源码 -
pbootcms源码宠物类网站源码下载(自适应多端)为宠物装备商店、宠物食品及用品企业打造的营销型模板,基于PbootCMS内核深度开发。采用响应式设计实现PC与移动端适配,PHP7.0+高性能架构支持MySQL/SQLite双数据库查看源码 -
(自适应)电梯扶梯升降梯行业pbootcms企业网站模板(自适应手机版)响应式电梯扶梯类pbootcms模板 电梯生产企业绿色企业网站源码下载PbootCMS内核开发的网站模板,该模板适用于电梯、扶梯类等企业,查看源码 -
(自适应)绿色宠物门诊兽医行业网站模板该绿色清爽风格网站模板专为宠物门诊与兽医诊所设计,基于PbootCMS内核开发,采用响应式布局确保手机、PC等多端体验一致,帮助宠物医疗机构高效构建线上服务平台。查看源码 -
(自适应响应式)AI智能电子科技产品pbootcms网站模板下载基于PbootCMS内核的响应式模板,为AI智能硬件、电子产品等科技企业打造,通过技术创新实现品牌数字化升级。查看源码
| 分享笔记 (共有 篇笔记) |
