问题是当我使用类似的东西进行转储时:
shell_exec("mysqldump -uuser {$backup_db} > {$sql_name}");
然后在安装商店时使用此代码:
shell_exec("mysql -u user -ppass -h localhost {$dbName} < {$storeName}.sql");
它没有正确安装 - 打开 Magento 时发生异常:
a:5:{i:0;s:206:"Error in file: "/home/vhosts/username/11300N_test/app/code/core/Mage/Admin/sql/admin_setup/install-1.6.0.0.php" - SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'admin_assert' already exists";i:1;s:1024:"#0 /home/vhosts/username/11300N_test/app/code/core/Mage/Core/Model/Resource/Setup.php(645): Mage::exception('Mage_Core', 'Error in file: ...')
#1 /home/vhosts/username/11300N_test/app/code/core/Mage/Core/Model/Resource/Setup.php(421): Mage_Core_Model_Resource_Setup->_modifyResourceDb('install', '', '1.6.1.1')
#2 /home/vhosts/username/11300N_test/app/code/core/Mage/Core/Model/Resource/Setup.php(327): Mage_Core_Model_Resource_Setup->_installResourceDb('1.6.1.1')
#3 /home/vhosts/username/11300N_test/app/code/core/Mage/Core/Model/Resource/Setup.php(235): Mage_Core_Model_Resource_Setup->applyUpdates()
#4 /home/vhosts/username/11300N_test/app/code/core/Mage/Core/Model/App.php(417): Mage_Core_Model_Resource_Setup::applyAllUpdates()
#5 /home/vhosts/username/11300N_test/app/code/core/Mage/Core/Model/App.php(343): Mage_Core_Model_App->_initModules()
#6 /home/vhosts/username/11300N_test/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#7 /home/vhosts/username/11300N_test/index.php(87): Mage::run('', 'store')
#8 {main}";s:3:"url";s:28:"/11300N_test/index.php/admin";s:11:"script_name";s:22:"/11300N_test/index.php";s:4:"skin";s:7:"default";}
另外我应该补充一点,这仅适用于企业版 - 使用此代码可以正常安装 CE 商店。
另外我应该注意,当我手动进行转储时(通过 MyAdmin 的界面使用导出) - Magento EE 一切正常。因此,它让我确定问题出在我的 mysqldump 命令中。
我认为我的 linux 命令中缺少标志或类似的东西。