ecshop 整合ucenter 遇到的问题

在ecshop 2.7.2整合ucenter之后ec用户能同步登陆到dz但是 uc_server始终显示通信失败,并且 dz登陆 退出状态不能同步到ec。

观察发现ec的页面上有以下报错

Strict Standards: Declaration of ucenter::login() should be compatible with integrate::login($username, $password, $remember = NULL) in D:xampphtdocsecshopincludesmodulesintegratesucenter.php on line 52

Strict Standards: Declaration of ucenter::add_user() should be compatible with integrate::add_user($username, $password, $email, $gender = -1, $bday = 0, $reg_date = 0, $md5password = ”) in D:xampphtdocsecshopincludesmodulesintegratesucenter.php on line 52

Strict Standards: Declaration of ucenter::set_cookie() should be compatible with integrate::set_cookie($username = ”, $remember = NULL) in D:xampphtdocsecshopincludesmodulesintegratesucenter.php on line 52

原来是ecshop中 /includes/modules/initgrates/ucenter.php中继承 /includes/modules/initgrates/initgrate.php重写方法时候参数不统一,只需同步这几个函数的参数定义方式即可

如果ucenter退出,而其他同步的应用没有退出可以看看如下的方案

在ecshop的/includes/lib_common.php

这里的

function uc_call

$res = call_user_func_array( $func, $params );

出错了

替换成这样 ,就可以了

if( !is_array($params)){

$res = call_user_func( $func, $params );

}else{

$res = call_user_func_array( $func, $params );

}

或者直接把$params转换成数组

则在

$res = call_user_func_array($func,$params);

前面加上

if(!$params) {

$params = array();

}

即可

[via]

评论

Popular Posts

常用的国内外延迟测速链接(generate_204)

随身WiFi折腾指南: 解锁、刷机与DIY

为什么你睡了11个小时仍然觉得疲累?

《凯恩与林奇2:伏天》原版+硬盘版

《钢铁是怎样炼成的》奥斯特洛夫斯基

ICEcoder显示汉字出现乱码的处理

让你一生都受用的85句话 (适合做QQ签名)

iPhone 4S用TFT屏 智能机主流屏幕详解

做微信朋友圈生意的30天实操总结

人际沟通黄金四大原则~真的挺不错的(转载)