Magento “无法将商品添加到购物车。”没有明显的原因

我有一个稍微奇怪的问题需要你的帮助。

我的服务器上安装了三个独立的 Magento。其中两个在 SSL 证书下:https://apps.domain.com/store1https://apps.domain.com/store2。这两个商店如何自定义主题。第三次安装是在没有 SSL 证书的域根目录上全新安装:http://www.domain.com/store3

发生的事情是,突然之间,所有三个商店都无法将商品添加到购物车并给我这个错误“无法将商品添加到购物车。”。然后一个小时或几个小时后,添加到购物车按钮再次开始工作。奇怪的是,我没有改变任何东西来让它工作或停止工作,它们都同时工作或停止工作。

请指教!

更新

实际上,我在异常日志中发现了这一点:

` `` 2014-07-27T21:09:35+00:00 调试 (7):异常消息:注意:未定义的偏移量:/home/---/store2/lib/Zend/Locale 中的 2 /Format.php on line 577 Trace: #0 /home/---/store2/lib/Zend/Locale/Format.php(577): mageCoreErrorHandler(8, 'Undefined offse...', '/home/vmegypt /p...', 577, Array) 1 /home/---/store2/lib/Zend/Locale/Format.php(513): Zend_Locale_Format::_getRegexForType('decimalnumber', Array) 2 /home/- --/store2/lib/Zend/Filter/LocalizedToNormalized.php(100): Zend_Locale_Format::isNumber('3', Array) 3 /home/---/store2/app/code/core/Mage/Checkout/controllers /CartController.php(187): Zend_Filter_LocalizedToNormalized->filter('3') 4 /home/---/store2/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Checkout_CartController- >addAction() 5 /home/---/store2/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('add') 6 /home/ ---/store2/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Contr oller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 7 /home/---/store2/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch() 8 /home/- --/store2/app/Mage.php(683): Mage_Core_Model_App->run(Array) 9 /home/---/store2/index.php(117): Mage::run('', 'store') 10 {main} 2014-07-27T21:09:35+00:00 ERR (3): 异常 'Exception' 带有消息 'Notice: Undefined offset: 2 in /home/---/store2/lib/Zend/Locale /Format.php 在 /home/---/store2/app/code/core/Mage/Core/functions.php:245 中的第 577 行 堆栈跟踪:0 /home/---/store2/lib/Zend/语言环境/Format.php(577): mageCoreErrorHandler(8, 'Undefined offse...', '/home/vmegypt/p...', 577, Array) 1 /home/---/store2/lib/Zend /Locale/Format.php(513): Zend_Locale_Format::_getRegexForType('decimalnumber', Array) 2 /home/---/store2/lib/Zend/Filter/LocalizedToNormalized.php(100): Zend_Locale_Format::isNumber(' 3',数组)3 /home/---/store2/app/code/core/Mage/Checkout/controllers/CartController.php(187): Z end_Filter_LocalizedToNormalized->filter('3') 4 /home/---/store2/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Checkout_CartController->addAction() 5 /home/ ---/store2/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('add') 6 /home/---/store2/app/ code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 7 /home/---/store2/app/code/core/Mage/Core/Model /App.php(354): Mage_Core_Controller_Varien_Front->dispatch() 8 /home/---/store2/app/Mage.php(683): Mage_Core_Model_App->run(Array) 9 /home/---/store2/ index.php(117): Mage::run('', 'store') 10 {main} `` `

stack overflow Magento “Cannot add the item to shopping cart.” For no apparent reason
原文答案

答案:

作者头像

无论如何它都在工作,这是一件好事。您在这里没有提供太多信息,很难猜测它可能是什么。检查magento和服务器日志,也许你会在那里找到答案。

作者头像

在我看来,它与会话有关。如果您实际查看 CartController.php 中的 addAction 函数,您将看到此错误来自何处。所以请尝试调试,它在 addAction 方法的 try 块中抛出异常。您可以 var_dump 直到看到代码中断的位置

作者头像

我通过修复 magento 1.7 修复表 sales_flat_quote_item_option 中的一个表解决了这个问题;

作者头像

虽然我的解决方案看起来很独特,但我想我会分享我的个人解决方案,以防有人遇到类似情况。最终,我的客户意外删除了数据库中的一些表。我从备份中恢复了它们,一切正常。导致此错误的原因有很多,因此与最近的备份相比,可能值得检查表的数量。

作者头像

This solution worked for me go to

app/code/core/Mage/Checkout/controllers/CartController.php

and find this code and comment it. Your issue will be solved.

public function addAction()
{
    if (!$this->_validateFormKey()) {
         $this->_goBack();
         return;
     }