Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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致命错误:调用成员函数setData()_Php_Wordpress_Magento_Migration - Fatal编程技术网

Php Magento致命错误:调用成员函数setData()

Php Magento致命错误:调用成员函数setData(),php,wordpress,magento,migration,Php,Wordpress,Magento,Migration,我正在帮助我的一个朋友将他们的Magento商店移动到一个新服务器,现在遇到了一些问题 我不确定这是否有什么不同,但作为一点背景,我已经将Magento存储区放在他们新WordPress站点的子目录中。我不认为这是个问题,但我想我会把它扔到这里以防万一 我遇到的问题是,当您尝试将项目添加到购物车时,我遇到以下错误: 致命错误:在第612行的…app/code/core/Mage/Sales/Model/Quote/Item.php中对非对象调用成员函数setData() 以下是发生错误时调用的方

我正在帮助我的一个朋友将他们的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,而Cookie已经启用

在这一点上,我不知道问题可能是什么。我没有在这个网站上写过一行代码,也没有修改过任何代码

在其中一个xml文件中是否可能存在需要更改的设置

站点的域没有更改,只有服务器,Magento存储现在位于名为
/shop
的子目录中,而不是根目录中

当然,我更改了基本url以反映这一点


任何帮助都将不胜感激。我认为这很简单,因为我只是将站点迁移到新服务器。

当您将magento移动到另一台服务器时,必须检查新服务器是否符合所有要求:

  • PHP
  • php-mysql
  • php-mcrypt
  • php散列
  • php xml(Magento 1.4.xx将需要)
  • php gd
  • php pdo
  • php mhash
  • php soap

    yum安装php mysql php mcrypt php xml php gd php pdo php mhash php soap

您可以使用


此外,您可以尝试再次运行安装程序(不会丢失数据),只需删除/重命名文件/app/etc/local.xml。当您将magento移动到另一台服务器时,安装程序将检测这些要求是否有问题,您必须检查新服务器是否符合所有要求:

  • PHP
  • php-mysql
  • php-mcrypt
  • php散列
  • php xml(Magento 1.4.xx将需要)
  • php gd
  • php pdo
  • php mhash
  • php soap

    yum安装php mysql php mcrypt php xml php gd php pdo php mhash php soap

您可以使用


此外,您可以尝试再次运行安装程序(不会丢失数据),只需删除/重命名文件/app/etc/local.xml。安装程序将检测需求是否有问题

该错误意味着Mage::getModel('sales/quote_item_option')不返回对象,因此无法调用其方法setData。我想看看Mage类做了什么。这个错误意味着Mage::getModel('sales/quote_item_option')不返回对象,因此不能调用其方法setData。我想看看Mage类做了什么。这个错误意味着Mage::getModel('sales/quote_item_option')不返回对象,因此不能调用其方法setData。我会看看法师的职业