回复:EE v1.10.1.1
你好,
最近我发现在用户提交表单创建帐户后,注册过程页面冻结。它死在'/customer/account/createpost/'上。
似乎在 /app/code/core/Mage/Customer/controllers/AccountController.php 行 #325 附近的这条线上死掉了(
$session->setCustomerAsLoggedIn($customer);
)。
将用户设置为已登录时,似乎在无效/空会话中窒息。只有在刷新冻结页面后才会记录/显示错误。我在任何日志中都没有发现任何其他错误/警告/消息(包括服务器日志):
a:5:{i:0;s:62:"Mage registry key "_singleton/customer/session" already exists";i:1;s:1247:"#0 /server_path/html/app/Mage.php(192): Mage::throwException('Mage registry k...')
#1 /server_path/html/app/Mage.php(446): Mage::register('_singleton/cust...', Object(Mage_Customer_Model_Session))
#2 /server_path/html/app/code/core/Mage/Customer/controllers/AccountController.php(50): Mage::getSingleton('customer/sessio...')
#3 /server_path/html/app/code/core/Mage/Customer/controllers/AccountController.php(75): Mage_Customer_AccountController->_getSession()
#4 /server_path/html/app/code/core/Mage/Core/Controller/Varien/Action.php(409): Mage_Customer_AccountController->preDispatch()
#5 /server_path/html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(253): Mage_Core_Controller_Varien_Action->dispatch('create')
#6 /server_path/html/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#7 /server_path/html/app/code/core/Mage/Core/Model/App.php(340): Mage_Core_Controller_Varien_Front->dispatch()
#8 /server_path/html/app/Mage.php(627): Mage_Core_Model_App->run(Array)
#9 /server_path/html/index.php(95): Mage::run('', 'store')
#10 {main}";s:3:"url";s:25:"/customer/account/create/";s:11:"script_name";s:10:"/index.php";s:4:"skin";s:2:"sg";}
下一行 (#326) 发送欢迎电子邮件。如果第 325 行被注释掉,那么电子邮件仍然会被发送,如果这样做了,第一次登录他们的帐户的尝试会在第 137 行的“/customer/account/loginPost/”上阻塞:
$session->login($login['username'], $login['password']);
刷新一次页面会显示仪表板。
无论哪种方式,帐户似乎都已正确创建,之后帐户功能正常,没有其他登录问题。
最近发生了一些变化,但它们都不应该与客户和/或客户/会话有任何关系......至少我不知道。
碰巧有人知道代码中任何常见的潜在magento陷阱......我可以在另一个脚本/mod中间接地做一些会导致这样的事情的事情吗?
我在这条路上的时间比我应该的要长,我觉得我已经回到起点而没有任何线索/成功。我有点觉得我错过了/忽略了一些明显的东西。任何输入、想法、建议或想法都将受到赞赏。
谢谢。
尊敬的,詹姆斯D
[b]注意:[/b] 我最后一次亲自检查这个功能是一两个月前,它没有这样做。从那以后,我制作/添加了一些自定义模块,但它们不应“直接”连接到客户和/或客户会话。
此外,一年多以前,我们确实为“customer_login”和“customer_before_save”事件添加了一些内容,但过去它们没有出现任何问题,所以我认为这两者都不是原因。 . 唯一的其他变化是 Magento 从 EE 1.9 升级到 1.10。
空会话示例....
这是页面阻塞时会话的样子:
Mage_Customer_Model_Session Object
(
[_customer:protected] =>
[_isCustomerIdChecked:protected] =>
[_skipSessionIdFlag:protected] =>
[_data:protected] => Array
(
[_session_validator_data] => Array
(
[remote_addr] => 155.77.22.255
[http_via] =>
[http_x_forwarded_for] =>
[http_user_agent] => Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
)
[session_hosts] => Array
(
[www.slimgenics.com] => 1
)
[id] =>
[messages] => Mage_Core_Model_Message_Collection Object
(
[_messages:protected] => Array
(
)
[_lastAddedMessage:protected] => Mage_Core_Model_Message_Success Object
(
[_type:protected] => success
[_code:protected] => Thank you for registering.
[_class:protected] =>
[_method:protected] =>
[_identifier:protected] =>
[_isSticky:protected] =>
)
)
[before_auth_url] => https://www.domain.com/customer/account/index/
[no_referer] => 1
)
[_hasDataChanges:protected] => 1
[_origData:protected] =>
[_idFieldName:protected] =>
[_isDeleted:protected] =>