将Magento安装移动到新服务器


Move Magento Installation to new server

我已经尝试了几个小时,将我们的Magento安装从dev转移到live。我在网络上发现了多个链接,说要移动Magento安装,您需要编辑/app/etc/local.xml并使用新的MySQL凭据更新它,然后删除/var/cache/的内容(有些人甚至建议删除整个/var文件夹。我还删除了/var/session/的内容。我们的服务器没有缓存(没有内存缓存,清漆等)。我什至重新启动了 apache,看看是否可以刷新任何可能正在运行的缓存。

所以问题是我们的Magento安装仍然试图以某种方式连接到旧数据库。我们得到这个错误:

SQLSTATE[28000] [1045] Access denied for user 'oldDBUsername'@'localhost' (using password: YES)

如果有人对如何解决此问题有任何想法,我还没有提到,将不胜感激。

编辑:

以下是Magento还报告的堆栈跟踪:

Trace:
#0 fileroot/lib/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 fileroot/lib/Varien/Db/Adapter/Pdo/Mysql.php(300): Zend_Db_Adapter_Pdo_Mysql->_connect()
#2 fileroot/lib/Zend/Db/Adapter/Abstract.php(459): Varien_Db_Adapter_Pdo_Mysql->_connect()
#3 fileroot/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SET NAMES utf8', Array)
#4 fileroot/lib/Varien/Db/Adapter/Pdo/Mysql.php(389): Zend_Db_Adapter_Pdo_Abstract->query('SET NAMES utf8', Array)
#5 fileroot/app/code/core/Mage/Core/Model/Resource.php(169): Varien_Db_Adapter_Pdo_Mysql->query('SET NAMES utf8')
#6 fileroot/app/code/core/Mage/Core/Model/Resource.php(110): Mage_Core_Model_Resource->_newConnection('pdo_mysql', Object(Mage_Core_Model_Config_Element))
#7 fileroot/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(320): Mage_Core_Model_Resource->getConnection('core_read')
#8 fileroot/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(335): Mage_Core_Model_Resource_Db_Abstract->_getConnection('read')
#9 fileroot/app/code/core/Mage/Core/Model/Resource/Cache.php(53): Mage_Core_Model_Resource_Db_Abstract->_getReadAdapter()
#10 fileroot/app/code/core/Mage/Core/Model/Cache.php(449): Mage_Core_Model_Resource_Cache->getAllOptions()
#11 fileroot/app/code/core/Mage/Core/Model/Cache.php(491): Mage_Core_Model_Cache->_initOptions()
#12 fileroot/app/code/core/Mage/Core/Model/App.php(1175): Mage_Core_Model_Cache->canUse('config')
#13 fileroot/app/code/core/Mage/Core/Model/Config.php(414): Mage_Core_Model_App->useCache('config')
#14 fileroot/app/code/core/Mage/Core/Model/Config.php(294): Mage_Core_Model_Config->_canUseCacheForInit()
#15 fileroot/app/code/core/Mage/Core/Model/App.php(408): Mage_Core_Model_Config->loadModulesCache()
#16 fileroot/app/code/core/Mage/Core/Model/App.php(338): Mage_Core_Model_App->_initModules()
#17 fileroot/app/Mage.php(640): Mage_Core_Model_App->run(Array)
#18 fileroot/index.php(80): Mage::run('', 'store')
#19 {main}

我想通了。

当我将开发安装带到现场时,我已经local.xml复制到local_bk.xml我发现Magento将尝试自动加载/app/etc/文件夹中的所有xml文件,因此它正在尝试加载我的备份文件,一旦我将备份重命名为不以.xml结尾的东西它工作。

当你安装magento时,你必须选择缓存和会话数据存储在文件系统还是数据库中。

可能是本地.xml的以下行,现在不太记得了。

<session_save><![CDATA[files]]></session_save>

如果您使用的是数据库,那么它将数据存储在数据库中的core_cache表中。

查看您的数据库缓存表是否为空(如果未截断它们)。

您还需要在core_config_data中更新安全和不安全的基本网址

有关 SQL 进行更新,请参阅以下内容

http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/update_site_url_in_core_config_data

正确的路径是

app/etc/local.xml

而不是:

etc/app/local.xml

这能解决您的问题吗?

对于将来遇到此问题的其他人,这里有一些关于Magento维基的文档。 http://www.magentocommerce.com/wiki/groups/227/moving_magento_to_another_server

你的回答救了我!我在这个问题上花了很多时间,只是偶然发现了这个答案。我通常复制和粘贴以搜索错误,因此我想提供更多实际错误,以便其他人可以从中受益。

我将我的 local.xml 文件命名为 local.bak这就是我的错误所在。与工作Magento实例的所有文件进行比较仅产生额外的文件。

这个错误让我相信也许mySQL是问题所在,但它与它无关。也许有人可以发布日志或方法,显示实际使用的文件。我没有看到任何记录写在任何日志上的通知。

以下是更多错误,不包括任何特定于站点的内容:

"SQLSTATE[HY000] [1045] Access denied for user '*myuser*'@'localhost' (using password: YES) /lib/Zend/Db/Adapter/Pdo/Mysql.php(111): Zend_Db_Adapter_Pdo_Abstract->_connect()

app/etc/删除中间的.xml中更改我的文件名也对我有用:

local.xml.template local.templatelocal.xml.additionallocal.additional

谢谢@Peter。

在你的magento文件夹中,你需要编辑app/etc/local.xml正如Gershon提到的。

作为根用户或 sudo 您还需要删除 magento 创建的 magento 文件夹的 var/cache 中的所有文件和目录。

相关文章: