【问题标题】:Move Magento Installation to new server将 Magento 安装移动到新服务器
【发布时间】:2012-06-21 16:57:21
【问题描述】:

我已经尝试了几个小时来将我们的 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}

【问题讨论】:

    标签: php mysql magento amazon-web-services


    【解决方案1】:

    我想通了。

    当我启动开发安装时,我已将 local.xml 复制到 local_bk.xml 我发现 Magento 将尝试自动加载 /app/etc/ 文件夹中的所有 xml 文件,因此它试图加载我备份的文件,一旦我将备份重命名为不以 .xml 结尾的内容,它就起作用了。

    【讨论】:

    • Dood,你太棒了 - 我正要开始破解核心 :)
    【解决方案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

    【讨论】:

      【解决方案3】:

      正确的路径是

      app/etc/local.xml
      

      代替:

      etc/app/local.xml
      

      这能解决您的问题吗?

      【讨论】:

      • 哦,那是我的错误.. 那是我编辑的文件。我将编辑我的问题。
      • 如果您有命令行访问权限,请在代码库中搜索旧用户名: find 。 -exec grep -n -i --color=auto 'oldDBUsername' '{}' \; -打印
      • 我认为您正在使用 grep.. 但是该命令不起作用我得到一个:grep:{}:没有这样的文件或目录 grep:;:没有这样的文件或目录grep:打印:没有这样的文件或目录
      • 使用冒号后面的整个命令直到单词 print: find . -exec grep -n -i --color=auto 'oldDBUsername' '{}' \; -打印
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        我将我的 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()
        

        【讨论】:

          【解决方案6】:

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

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

          谢谢@Peter。

          【讨论】:

            【解决方案7】:

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

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多