Php 为什么Magento在生成ID后无法保存客户?
我试图找出一个罕见错误(喜欢那些间歇性错误)的原因,客户在结账时选择注册,但当订单完成时,Magento不知何故未能保存客户记录。这导致没有电子邮件地址的孤立订单,这是一个困难的客户服务情况 以下是我到目前为止的调查结果:Php 为什么Magento在生成ID后无法保存客户?,php,mysql,magento,Php,Mysql,Magento,我试图找出一个罕见错误(喜欢那些间歇性错误)的原因,客户在结账时选择注册,但当订单完成时,Magento不知何故未能保存客户记录。这导致没有电子邮件地址的孤立订单,这是一个困难的客户服务情况 以下是我到目前为止的调查结果: adminhtml中的Sales Order视图报告客户是来宾,电子邮件地址为空。账单和发货地址可见 客户是客人在销售订单中为假 sales\u flat\u order条目链接到sales\u flat\u order\u地址中的有效记录 sales\u flat\u o
- adminhtml中的Sales Order视图报告客户是来宾,电子邮件地址为空。账单和发货地址可见
在客户是客人
销售订单中为假
条目链接到sales\u flat\u order
sales\u flat\u order\u地址中的有效记录李>
记录包含sales\u flat\u order\u address
和customer\u id
的值,但是这些链接记录不存在customer\u address\u id
- 在客户信息、订购的产品、付款方式方面没有明显的模式
- 在system.log、exception.log、apache错误日志、var/reports或我知道的任何其他日志中都没有相关条目
- 客户保存进展足够快,因此生成了一个ID李>
- 在customer_save_上有一个观察器,这会导致保存回滚吗
- 低级数据库错误导致保存失败
版本是Enterprise 1.9。我会添加大量额外的日志记录,尝试将其记录得足够好,以捕获错误,并在可以检测到错误时保存这些日志 一旦有了显示bug的日志,就可以更容易地隔离出有问题的代码
为此,您可能需要记录数据库查询,不幸的是,如果数据量很大和/或受到隐私问题的影响,这可能会很棘手。@Anton-采用何种支付方式似乎无关紧要。有些是Paypal,有些是Cybersource。你使用哪个magento版本?正如我所看到的,客户和订单保存被包装到一个事务中。在删除客户的核心模块中,我没有看到任何关于客户事件后保存的观察者(我发现只有两个观察者参与此事件,他们都在时事通讯模块中)。@Zyava-这是在Enterprise v1.9上-我同意,我也没有看到任何与此相关的客户事件后保存的观察者。我还以为客户保存中的异常也会回滚订单保存…除了这个论坛,我肯定会联系Magento的工作人员。他们对企业版无bug有既得利益。他们至少能为你指明正确的方向。很抱歉,我没有比这更多的内容了。插入项是否分配了任何应该在数据库中自动递增的数字字段?可能是并发问题?使用InnoDB?