0

magento upgrade 1.5.1.0 >> {1.6.2.0,1.7.0.2,1.8.0.0} 私はすべてのモジュールを削除しようとしていて、ファイルを直接コピーしてアップグレードし、magento ダウンローダーを使用してこのエラーが発生するたびに運がありませんでした。しかし、正確に失敗する場所と理由、適切にデバッグする方法は?

Error in file: "Z:\home\www\store\app\code\core\Mage\Core\sql\core_setup\mysql4-upgrade-1.5.9.9-1.6.0.0.php" 
- SQLSTATE[HY093]: Invalid parameter number: no parameters were bound

Trace:
#0 Z:\home\www\store\app\code\core\Mage\Core\Model\Resource\Setup.php(645): Mage::exception('Mage_Core', 'Error in file: ...')
#1 Z:\home\www\store\app\code\core\Mage\Core\Model\Resource\Setup.php(437): Mage_Core_Model_Resource_Setup->_modifyResourceDb('upgrade', '0.8.28', '1.6.0.3')
#2 Z:\home\www\store\app\code\core\Mage\Core\Model\Resource\Setup.php(320): Mage_Core_Model_Resource_Setup->_upgradeResourceDb('0.8.28', '1.6.0.3')
#3 Z:\home\www\store\app\code\core\Mage\Core\Model\Resource\Setup.php(235): Mage_Core_Model_Resource_Setup->applyUpdates()
#4 Z:\home\www\store\app\code\core\Mage\Core\Model\App.php(417): Mage_Core_Model_Resource_Setup::applyAllUpdates()
#5 Z:\home\www\store\app\code\core\Mage\Core\Model\App.php(343): Mage_Core_Model_App->_initModules()
#6 Z:\home\www\store\app\Mage.php(683): Mage_Core_Model_App->run(Array)
#7 Z:\home\www\store\index.php(87): Mage::run('', 'store')
#8 {main}
4

1 に答える 1

0

PDO MySQL デバッグを有効にするには、次のファイルを編集する必要があります: /lib/Varien/Db/Adapter/Pdo/Mysql.php

protected $_debug               = true;

次に、このファイルを開きます: /lib/Zend/Db/Statement/Pdo.php を開き、この行の約 234 を置き換えます。

throw new Zend_Db_Statement_Exception($e->getMessage(), (int) $e->getCode(), $e);

このコードで:

$msg = "SQL ERROR: ". $e->getMessage() . "\n";
            $msg .= "SQL QUERY:" . $this->_stmt->queryString."\n";
            if(!empty($params)) {
                $msg .= "SQL PARAMS: ('". implode("','", $params) ."')\n";
            }
            $dbsEx = new Zend_Db_Statement_Exception($msg, (int) $e->getCode(), $e);
            throw $dbsEx;

そのため、フォルダー /var/ debug / と、このファイル内のファイルpdo_mysql.logを取得する と、完全な mysql クエリで完全な mysql エラーが発生します。失敗したクエリを phpmyadmin で簡単に実行したり、データベース テーブルやパラメーターなどを編集したりできます。

私はそれに満足しています。

于 2013-10-05T17:05:42.900 に答える