7

我有一个 Magento 网站,使用的版本1.6.2.0在重复订单时遇到问题。

在研究了这个主题后,我发现大多数论坛帖子都解释1.4.x了重复订单的问题,并且提到的解决方案(即使是我发现的 SO 上的解决方案)只是建议用户将 Magento 更新为>1.4.

我也在这里找到了一个建议的解决方案,但不愿意删除会阻止可下载购买工作的观察者。

我还发现了几次提到的 Array Of Death 修复程序(例如这里),但是这个问题在 中不存在1.6.x,Zend 似乎已经解决了它。

有一些 Javascript 黑客建议,其中确认订单按钮在提交时被隐藏,但 Magento1.6.x已经这样做了。

我已将支付网关超时配置变量增加到 120 秒,我还想看看它是否会产生结果。我无法测试它,因为问题是间歇性的(因此可能是由支付网关和 Magento 之间的通信或缺乏通信引起的)。

我使用 Sagepay 作为支付网关。

我该如何进一步调试呢?

4

1 回答 1

1

The link you posted is correct, but I wouldn't use their fix, I would just disable the Mage_Rss module.

Mage_Rss has several observers in it that call Mage::app()->cleanCache(...) in the checkout process, which is extremely expensive if your installation is using the default filesystem cache and it's gotten large.

I found the best thing for troubleshooting Magento performance problems is to wire up Xhgui and do some profiling. Reading call stacks will help your understanding of Magento immensely also.

Oh, and I don't know if this is true for Sagepay, but I went and fixed this problem completely for PayflowPro by rewriting the method that generates transaction IDs to use the quoteID instead of generating unique IDs on every invocation. I started down the path of committing this back, but I'm on 1.4.2 still and don't have time to test in later versions and it's a pretty significant rewrite. Guess I could just put it out there for someone else to run pass Moses...

于 2012-06-28T02:24:48.553 回答