要查找的Magento方法:调试(7):保存产品清除时出错:SQLSTATE[23000]:完整性约束冲突:1062重复项
我的日志中充满了此类错误,有时会出现订单问题。日志不会告诉此错误生成的程序要查找的Magento方法:调试(7):保存产品清除时出错:SQLSTATE[23000]:完整性约束冲突:1062重复项,sql,database,debugging,magento,Sql,Database,Debugging,Magento,我的日志中充满了此类错误,有时会出现订单问题。日志不会告诉此错误生成的程序 我怎样才能找出这类错误产生的程序,在所有程序中搜索文本,如“保存产品时出错”没有帮助?是否有一个数据库类/函数可以调试此类错误并找到问题程序 您可以使用Varien_Db_Adapter_Pdo_Mysql并设置一些属性来生成日志文件 class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements Varien_Db_Adapt
我怎样才能找出这类错误产生的程序,在所有程序中搜索文本,如“保存产品时出错”没有帮助?是否有一个数据库类/函数可以调试此类错误并找到问题程序 您可以使用
Varien_Db_Adapter_Pdo_Mysql
并设置一些属性来生成日志文件
class Varien_Db_Adapter_Pdo_Mysql extends Zend_Db_Adapter_Pdo_Mysql implements Varien_Db_Adapter_Interface
{
// :
protected $_debug = true;
// :
protected $_logAllQueries = true;
// :
protected $_logCallStack = true;
// :
}
这样将创建一个名为var/debug/pdo_mysql.log
的日志文件,Magento将记录每个SQL语句(和异常),包括每个操作的堆栈跟踪
通过轻松检查堆栈跟踪,您可以确定哪个方法调用导致了给定的异常。非常感谢Jürgen的回答,我将尝试一下,并让您知道。独自一人在Magento中是不可能找到所有文件的。是的,它可以工作,但几秒钟后这个文件已经是250 MB了,所以在一小时/天之后,再也无法处理了。有没有软件可以处理这么大的文件,我知道Notepad++的容量是1GB,但这还不够,我觉得对于一个有这么多sql的网店来说,这有点不太容易?也许我可以在某个地方建立一些sql来登录?在cnet.com上,我发现一个.net程序可以轻松加载几Gb,而Notepad++不能..所以我找到了在我的例子中产生错误的地方。在保存产品时,我在system.log中看到了此错误。在保存过程中,我构建了一段mysql日志,如上所述。然后,我在这个日志中搜索了我的错误,发现扩展MDN Erp试图将两次零条目写入表清除(在它成功地将产品id写入这个表之前,所以可能是循环问题)。但是如果你不知道该去哪里查找,例如,我也有订单问题(shipping_description有时为空,总计为零),这种搜索方式不会以任何结果结束(太大的mysql日志文件)。但我不知道“save product purging”文本是如何组成的,所以你不认为在表中进行清除,非常不清楚。。。即使在日志中,句子也不完整,所以你也会错过信息,Magento会耗尽你所有的精力。。