2

我已经尝试了几个小时来将我们的 Magento 安装从 dev 转移到 live。我在网上找到了多个链接,说要移动 Magento 安装,您需要/app/etc/local.xml使用新的 MySQL 凭据编辑和更新它,然后删除其中的内容/var/cache/(一些甚至建议删除整个/var文件夹。我还删除了/var/session/.我们的内容)服务器未缓存(没有 memcached、varnish 等)。我什至重新启动了 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}
4

7 回答 7

12

我想到了。

当我将 dev 安装带入生活时local.xmllocal_bk.xml我发现 Magento 将尝试自动加载文件/app/etc/夹中的所有 xml 文件,因此它正在尝试加载我的备份文件,只要我将备份重命名为没有的东西以 .xml 结尾,它起作用了。

于 2012-06-21T18:29:41.330 回答
2

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

可能是local.xml中的下面这行,现在记不太清了。

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

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

如果没有截断它们,请查看您的数据库缓存表是否为空。

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

请参阅以下 SQL 进行更新

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

于 2012-06-21T17:46:24.713 回答
0

正确的路径是

app/etc/local.xml

代替:

etc/app/local.xml

这能解决您的问题吗?

于 2012-06-21T17:22:02.010 回答
0

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

于 2012-06-21T19:33:29.627 回答
0

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

我将我的 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()
于 2017-09-15T02:14:00.003 回答
0

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

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

谢谢@彼得。

于 2018-02-22T11:36:30.373 回答
-1

在您的 magento 文件夹中,您需要像 Gershon 提到的那样编辑 app/etc/local.xml。

您还需要以 root 或 sudo 的身份删除 magento 创建的 magento 文件夹的 var/cache 中的所有文件和目录。

于 2012-06-21T17:30:20.907 回答