为什么Magento在生成ID后无法保存客户?

Jon*_*Day 50 php mysql magento

我试图找出一个罕见错误的原因(喜欢那些间歇性的错误),客户选择在结账时注册,但订单完成后,Magento无法保存客户记录.这导致孤立订单没有电子邮件地址,客户服务困难.

以下是我目前调查的结果:

  • adminhtml中的销售订单视图报告客户是来宾,电子邮件地址为空.结算和送货地址可见.
  • customer_is_guest 是假的 sales_flat_order
  • sales_flat_order条目链接到有效记录sales_flat_order_address.
  • sales_flat_order_address记录包含值customer_id,customer_address_id但这些链接的记录不存在.
  • 客户信息,订购产品,付款方式都没有明显的模式.
  • system.log,exception.log,apache错误日志,var/reports或我知道的任何其他日志中没有相关条目.

思考:

  • 客户保存进度远远足以生成ID.
  • customer_save_after上有一个观察者导致保存的回滚?
  • 低级别数据库错误导致保存失败.

有没有人对如何追踪这个有任何建议?

版本是Enterprise 1.9.

Ara*_*ion 2

我会添加大量额外的日志记录,尝试将其记录得足够好以捕获错误 - 并在可以检测到错误时保存这些日志。

一旦您拥有显示错误的日志,您就可以更轻松地隔离有问题的代码。

为此,您可能需要记录数据库查询,不幸的是,如果数据量很大和/或存在隐私问题,这可能会很棘手。