Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要查找的Magento方法:调试(7):保存产品清除时出错:SQLSTATE[23000]:完整性约束冲突:1062重复项_Sql_Database_Debugging_Magento - Fatal编程技术网

要查找的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会耗尽你所有的精力。。