Php 将Magento安装移动到新服务器
我已经尝试了几个小时将我们的Magento安装从dev迁移到live。我在网上找到多个链接,说要移动Magento安装,你需要编辑Php 将Magento安装移动到新服务器,php,mysql,magento,amazon-web-services,Php,Mysql,Magento,Amazon Web Services,我已经尝试了几个小时将我们的Magento安装从dev迁移到live。我在网上找到多个链接,说要移动Magento安装,你需要编辑/app/etc/local.xml并用新的MySQL凭据更新它,然后删除/var/cache/(一些人甚至建议删除整个/var文件夹。我还删除了/var/session/的内容。我们的服务器没有缓存(没有memcached、varnish等)。我甚至重新启动了apache,以查看是否可以刷新任何可能正在运行的缓存 因此,问题是我们的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}
正确的路径是
app/etc/local.xml
而不是:
etc/app/local.xml
这能解决您的问题吗?在您的magento文件夹中,您需要编辑app/etc/local.xml,如Gershon所述
您还需要以root或sudo身份删除magento文件夹的var/cache中magento创建的所有文件和目录。安装magento时,您必须选择是将缓存和会话数据存储在文件系统还是数据库中 它可能是local.xml中的下一行,我现在记不清了
<session_save><![CDATA[files]]></session_save>
如果您使用的是db,那么它会将数据存储在core_缓存表中,也可能存储在数据库中
查看数据库缓存表是否为空(如果不为空),并截断它们
您还需要更新核心配置数据中的安全和不安全的基本url
请参阅以下内容,了解执行更新的SQL
我想出来了
当我将dev安装带到现场时,我已经将
local.xml
复制到local_bk.xml
中,我发现Magento将尝试自动加载/app/etc/
文件夹中的所有xml文件,因此它试图加载我备份的文件,只要我将备份重命名为不以.xml结尾的文件,它就可以正常工作。其他人将来会遇到这个问题这里是Magento的wiki上的一些文档。你的回答救了我!我在这个问题上花了很多时间,只是偶然发现了这个答案。我通常复制并粘贴以搜索错误,所以我想提供更多实际错误,以便其他人能够受益
我将我的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.template
和local.xml.additional
至本地。其他
谢谢@Peter.哦,那是我的一个错误..这是我编辑的文件。我将编辑我的问题。如果你有命令行访问权限,请在代码库中搜索旧用户名:find.-exec grep-n-I--color=auto'oldDBUsername'{}\\;-print我想你正在使用grep执行某些操作..但是该命令不起作用,我得到一个:grep:{}:没有这样的文件或目录grep:;:没有这样的文件或目录grep:print:No这样的文件或目录print:No这样的文件或目录使用整个命令通过冒号直到单词print:find的结尾-exec grep-n-i--color=auto'oldDBUsername'{}\;-printDood,你摇滚乐-我正要开始破解内核:)