首页 > 代码库 > ecshop常见错误的处理方法
ecshop常见错误的处理方法
用ecshop,其中出现了不少错误,经常是满世界找原因,今天分享几个问题的解决办法,方便大家及时处理。如果有相关的ecshop问题欢迎跟帖咨询
问题1:出现错误代码:ECshop lib_base.php on line 1241 、
Notice: Undefined variable: data in D:\wwwroot\KISS\wwwroot\includes\lib_base.php on line 1241
Warning: require() [function.require]: Unable to access D:/wwwroot/KISS/wwwroot/languages//common.php in D:\wwwroot\KISS\wwwroot\includes\init.php on line 124
Warning: require(D:/wwwroot/KISS/wwwroot/languages//common.php) [function.require]: failed to open stream: No error in D:\wwwroot\KISS\wwwroot\includes\init.php on line 124
Fatal error: require() [function.require]: Failed opening required ‘D:/wwwroot/KISS/wwwroot/languages//common.php‘ (include_path=‘.;D:/wwwroot/KISS/wwwroot/‘) in D:\wwwroot\KISS\wwwroot\includes\init.php on line 124
解决办法:到temp文件夹下把static_caches文件下的文件都删除就可以了
----------------------------------------------------------------------------------------------------------------------
问题2:ECSHOP验证码前台或评论不显示,后台登录能显示
针对ECSHOP验证码前台不显示,后台登陆显示,就排除了GD库没有安装的问题。
查看GD库是否安装,请登录ECSHOP后台的起始页的系统信息,GD 版本:,例如我的就是 ---- GD 版本: GD2 ( JPEG GIF PNG)
注释掉includes\init.php文件下的这段代码:
3、以上方法若还不能解决问题,最后用原始的languages\zh_cn\common.php覆盖,并把根目录下面的captcha.php里的空白行删除。
可能原因:languages\zh_cn\common.php 这个文件经过修改后,可能某个字符串太长或者其他原因导致验证码不显示。
例如:
将:$_LANG[‘copyright‘] = "? 2005-%s %s 版权所有,并保留所有权利。";
修改为:$_LANG[‘copyright‘] = "seo永夜";
就可能导致验证码不显示。
注释掉的意思是屏蔽
要屏蔽的内容 前后加
-------------------------------------------------------------------------------------------------------------------------
问题3:一定要改后台路径
下面以 Ecshop 2.7.2 为例进行修改……
首先,修改后台目录名admin为你想要的,这里我设置为seoyy;
其次,找到 data/config.php,修改这里的路径名为seoyy,define(‘ADMIN_PATH’,‘seoyy’) 。OK,在2.7.2版本里就已经修改完成,如果用低版本的需要改的文件太多,这里就不介绍了,建议升级到最新并打好补丁。
-------------------------------------------------------------------------------------------------------------------------
问题4:Ecshop访问500错误提示是怎么回事,如何解决?
出现500错误的原因是很多的,一般来说,如果程序出错,那么在浏览器内会返回给用户一个友好的错误提示,统一称之为服务器500错误。
解决的方法就是您必须在http中能够正确的获得错误信息,方法为:请打开浏览器,选择工具,internet选项,高级,在高级中的浏览项目里面有一个"显示http友好错误提示"的复选框,请取消该复选框,并关掉窗口重新打开IE浏览器,这样您可以获得正确的错误提示。在获得正确的错误提示之后,您就可以根据该错误提示检查您具体的出错原因了,这类错误一般是数据库方面或者空间商的问题,可以咨询空间供应商。
---------------------------------------------------------------------------------------------------------------------------
问题5:Ecshop乱码二:
在DIV修改ECSHOP时,有时会需要在数据库中加入一些字段,可能在存储过程中会遇到乱码问题,
答案:问题出在ECSHOP在把资料放进数据库时, 经过了htmlentities的处理, 防止javascriptr的恶意输入,
文件位于/includes/lib_passport.php第165行:
原代码: $other[$key] = htmlentities($val); //防止用户输入javascript代码
只要把htmlentities换成htmlspecialchars就OK 了
$other[$key] = htmlspecialchars($val); //防止用户输入javascript代码
另一个文件位于/includes/lib_transaction.php第85行:
原代码: $profile[‘other‘][$key] = htmlentities($val); //防止用户输入javascript代码
修改后的代码为:
$profile[‘other‘][$key] = htmlspecialchars($val); //防止用户输入javascript代码
----------------------------------------------------------------------------------------------------------------------------
问题6:如何添加自定义lbi文件
下面以ECSHOP 2.7.2为例,添加自定义的lbi文件……
1.找到 admin下面 includes\lib_template.php 找到
$page_libs = array( 这里…. 给您需要的页面加上 你自己的 seoyy.lbi
2.找到 languages 下面的 zh_cn\admin\template.php 添加
$_LANG[‘template_libs‘][‘seoyy‘] = ‘我的seoyy’;
3. 在 themes\模板文件夹下面的 libs.xml 修改, 加上 /labrary/seoyy.lbi
4. 在 labrary 加上 seoyy.lbi
这样就OK了。
ecshop常见错误的处理方法