ECMALL完美解决Error File: \uc_client\model\note.php at 118 line的

2016-07-07 15:37 来源:www.chinab4c.com 作者:ecshop专家

用ECSHOP整合UC会经常出现这样的问题。
下面的方法是在ECMALL找的。

看能不能给懂代码的朋友一点启示。
原帖地址:http://ecmall.shopex.cn/bbs/viewthread.php?tid=1082134

错误发生条件及机理:
1。整合了UC
2。UC产生NOTE:比如在uc后台删除用户、添加不良词汇、编辑应用等操作
这时在./api/uc.app.php 63行调用uc_client的xml_unserialize函数得到了错误结果是如下代码中红色标示处由空字符串变成了一个空格的字符串
引用:
array (
4 =>
array (
'appid' => '4',
'type' => 'ECMALL',
'name' => 'ECMall多用户商城',
'url' => 'http://localhost/ecmall2.0',
'ip' => '',
'viewprourl' => '',
'apifilename' => 'uc.php',
'charset' => 'utf-8',
'synlogin' => '1',
'extra' =>
array (
'apppath' => ' ',
),
'recvnote' => '1',
),
2 =>
array (
'appid' => '2',
'type' => 'UCHOME',
'name' => '个人家园',
'url' => 'http://localhost/ecmall2.0/home',
'ip' => '',
'viewprourl' => '',
'apifilename' => 'uc.php',
'charset' => 'utf-8',
'synlogin' => '1',
'extra' =>
array (
'apppath' => ' ',
),
'recvnote' => '1',
),
'UC_API' => 'http://localhost/ecmall2.0/ucenter',
)
因此生成了一个错误的uc_client的缓存文件.\uc_client\data\cache\apps.php

这样下来在.\uc_client\model\note.php118行处
引用:
if($app['extra']['apppath'] && @include $app['extra']['apppath'].'./api/'.$apifilename){
标红处由于原本为空字符串变成了一个空格的字符串
条件成立执行后面的include就因为路径无效而报错

回答:
关注一下。

太好了,呵呵