ecmall用户登陆成功,自动退出问题的解决方法

最近在搭建ecmall平台的时候,发现了一个很纠结的问题:

本地搭建ECMALL的时候,用户登陆没一点问题

结果在服务器上搭建后,就出现用户登录后提示成功,但立刻跳转到登录页面,其实还是未登陆,前后台都是如此

网上找遍了,发现很多人出现过这问题,官方一看,也没看到他们有什么好的解决方法

没办法自己找问题吧

以前有接触过ecmall相关产品,知道他们处理登陆状态一贯喜欢用cookie

于是选择了用狐火查看cookie的值

本地成功登陆后,cookie名和值如下

ECM_ID:ed99a55c9ffdbb7660471fe879d515dddca957c8  --------40位的值

服务器上登陆不了的cookie名和值如下

PHPSESSID:72f5996da2921211563571ee0259dab9------------32位的值

纠结了,因为对这系统代码不熟悉,想不通什么原因

 

以为是服务器没配置好,于是查看服务器配置,该服务器用的是,PHP5.2.4,apache,windows2003

结果是服务器配置session,cookie方面的都没问题

没办法,换服务器吧,于是换到另外台服务器,该服务器用的是PHP5.2.5,IIS6,windows2003

结果还是不能成功登陆,查看这个服务器的PHP配置情况,一切正常

没办法,2个服务器上,删了ECMALL的安装版,重装吧

一次,二次。。。。无效

本地重装

一次,二次。。。。怎么装都没问题

查看下本地PHP版本是 5.3+的

换自己的笔记本吧,结果安装后也正常,查看PHP版本是5.3+

难道是PHP版本引起的?因为没有时间在大量环境测试,不敢断定是不是PHP版本问题,

实在没办法,只有再次去看ECMALL 里文件session.lib.php  的代码

发现在135-136有这样一段被注释的代码:

  if (!$this->session_id)
{
$this->gen_session_id();
session_id($this->session_id . $this->gen_session_key($this->session_id));
/*setcookie($this->session_name, $this->session_id . $this->gen_session_key($this->session_id), 0,
$this->session_cookie_path, $this->session_cookie_domain, $this->session_cookie_secure);
*/
}

我尝试去掉注释

结果意外情况出现了

不管,后台还是前台,用户都能登陆了,兴奋啊

为了确定这代码不是我无意中注释的,我特意到官方下载了一份新的,发现里面确实也注释了

官方写了这代码,为什么又注释了呢?。。。。。。

解决问题就好

再次查看下cookie

结果发现

登陆成功后,不仅有

40位的ecm_id cookie值

还有32位的phpsessid cookie值

。。。。。。。。。。。。。。。

 

纠结了我2,3天啊

可以进我博客进行交流 http://www.sweiku.com

 

 

 

转载于:https://www.cnblogs.com/xxm6318/archive/2012/03/21/2409963.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值