Magento后台无法登录,帐号密码都正确。

现象

Magento后台无法登录,帐号密码输入都正确提交后又回到初始输入状态,如下图:

环境

VMware WorkStation 9/Ubuntu Server 12.04 LTS,  Apache2/PHP5/MySQL5.5(mysqlnd),   Magento(1.7)。

Windows 7中安装WMware 9, Ubuntu Sever 12.04安装在虚拟机中,在虚拟机中部署Magento1.7。从Windows(宿主系统)中用虚拟机IP访问Magento后台。

问题描述见 “现象”一节。

处理过程

Baidu了一通,说是Magento的cookie验证机制“问题”.依次做了一下检查:

1。 客户端浏览器cookie是否已经启用,经检查已经OK.

2。采用网上的方法:

修改 app/code/core/Mage/Core/Model/Session/Abstract/Varien.php中cookie验证代码,详细见http://blog.csdn.net/zhengjianqi/article/details/7404194.

结果还是不能解决。

看见varien.php中cookie验证代码中与时间相关,于是联想服务器时间是否有问题(UbuntuServer)。

用date 命令查看Ubuntu Server本地时间,显示为 Sun Sep 14 14:08:48 CST 2013。

服务器上时间与客户机相差近8个小时。注意到CST这个时区标识怀疑是时区设置错误,查看/etc/localtime 发现时区为CST-8。没有错,正好是中国东部时间。

由此,联想到是Ubuntu Server时间同步有问题。

再Baidu VMware中时间同步解决办法主要有二:

1。用VMware Tools,让客户机器与宿主机器时钟同步。此方法简单,但是要安装VMware Tools。

2。客户机中设置NTP时间同步,采用网络时间同步。此方法必须要网络通畅。

选择了方案1,与物理机器时钟同步,问题终于解决。

小结

总结一下,由于每次页面提交携带的时间信息和服务器上存储的时间间隔太大,被Magento认为是cookie过期。

后来查阅Magento 1.8 (以前安装时参考了1.7),显示安装Magento之前先要配置好服务器的时钟同步(采用NTP方式, 参考http://www.pool.ntp.org)。

 

由此猜想采用注释Varien.php中cookie验证代码应该也可以解决此问题(没有试验过,建议在生产环境中不要采用该方法)

 

PS: 本次安装VMware Tools还费了不少周折:(, VMware虚拟机硬盘空间太小,要扩充硬盘. 分区,重新挂载... 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值