我正在帮助我的一位朋友将他们的Magento商店搬到新服务器上,现在我遇到了一些问题。
不确定它是否有任何区别,但对于一些背景知识,我已将Magento商店放在其新WordPress网站的子目录中。我不认为这是问题,但我想我会把它扔出去以防万一。
我遇到的问题是,当您尝试将商品添加到购物车时,我收到以下错误:
致命错误:在第612行的... app / code / core / Mage / Sales / Model / Quote / Item.php中的非对象上调用成员函数setData()
以下是发生错误时调用的方法:
public function addOption($option)
{
if (is_array($option)) {
$option = Mage::getModel('sales/quote_item_option')->setData($option)
->setItem($this);
}
elseif (($option instanceof Varien_Object) && !($option instanceof Mage_Sales_Model_Quote_Item_Option)) {
$option = Mage::getModel('sales/quote_item_option')->setData($option->getData())
->setProduct($option->getProduct())
->setItem($this);
}
elseif($option instanceof Mage_Sales_Model_Quote_Item_Option) {
$option->setItem($this);
}
else {
Mage::throwException(Mage::helper('sales')->__('Invalid item option format.'));
}
if ($exOption = $this->getOptionByCode($option->getCode())) {
$exOption->addData($option->getData());
}
else {
$this->_addOptionCode($option);
$this->_options[] = $option;
}
return $this;
}
另一个奇怪的事情是,我最初在本地机器上设置了整个网站,当在本地设置中将项目添加到购物车时,Magento告诉我启用已启用的cookie。
此时我不知道问题是什么。我没有在这个网站上写过一行代码,也没有修改任何代码。
可能有一个设置需要在其中一个xml文件中更改吗?
网站的域名没有改变,只有服务器,而Magento商店现在位于根目录中,而不是名为/shop
的子目录。
我更改了基本网址以反映当然。
非常感谢任何帮助。认为这很简单,因为我只是将站点迁移到新服务器。
答案 0 :(得分:0)
当您将magento移动到另一台服务器时,您必须检查新服务器是否满足所有要求:
PHP-皂
yum install php php-mysql php-mcrypt php-xml php-gd php-pdo php-mhash php-soap
您可以使用<?php phpinfo(); ?>
此外,您可以尝试再次运行安装程序(您不会丢失数据)只是删除/重命名文件/app/etc/local.xml。安装程序将检测要求是否有问题