Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将Magento安装移动到新服务器_Php_Mysql_Magento_Amazon Web Services - Fatal编程技术网

Php 将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安装仍在尝试以某种方

我已经尝试了几个小时将我们的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}
正确的路径是

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,你摇滚乐-我正要开始破解内核:)