Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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中的非对象调用成员函数setStore()_Php_Magento - Fatal编程技术网

Php 对magento中的非对象调用成员函数setStore()

Php 对magento中的非对象调用成员函数setStore(),php,magento,Php,Magento,我已创建自定义装运模块,并出现以下错误: 致命错误:在第421行的/home/devjoand/public_html/includes/src/Mage_Shipping_Model_Shipping.php中对非对象调用成员函数setStore() 我删除了这个运输模块的所有文件,包括.xml,但它仍然给我同样的错误。它不会将我发送到shipping方法,并使用上述错误停止savebilling控制器的执行。我已清除缓存/会话并重新编译,但没有任何效果。任何帮助都将不胜感激。提前谢谢 注意:

我已创建自定义装运模块,并出现以下错误:

致命错误:在第421行的/home/devjoand/public_html/includes/src/Mage_Shipping_Model_Shipping.php中对非对象调用成员函数setStore()

我删除了这个运输模块的所有文件,包括.xml,但它仍然给我同样的错误。它不会将我发送到shipping方法,并使用上述错误停止savebilling控制器的执行。我已清除缓存/会话并重新编译,但没有任何效果。任何帮助都将不胜感激。提前谢谢


注意:它在我的本地计算机上工作正常,但在生产服务器上不工作。

如注释中部分所述,错误来自以下代码:

    $obj = Mage::getModel($className);
    if ($storeId) {
        $obj->setStore($storeId);
    }
在上面的代码中,
$obj
设置为
null

您声明您已删除了一家运输公司。
我认为出现问题是因为您没有首先停用运营商。
因此,在配置表中,运营商似乎已启用,但没有与之关联的模型,因此上述代码失败

为了解决此问题,请在表
core\u config\u data
中查找具有以下路径列的记录:
carriers/CARRIER\u code\u HERE/active
,其中
CARRIER\u code\u HERE
是您刚刚删除的装运方法的代码

找到线路后,将其移除。实际上,删除所有具有类似于
carriers/CARRIER\u code\u此处/%%
路径的内容

请确保首先备份数据库,以防我出错。

我不知道如何帮助您,因为您没有提供代码。无论如何,您可以读取:。您认为是一个对象的变量,您试图调用它的
setStore()
不是一个对象。因此,您正在尝试实例化一个对象,如,
$obj=new obj()
和尝试调用
$obj->setStore()
,但您的
$obj
未能实例化。将其包装在
try catch
块中并转储异常,以查看是否存在错误。填写账单信息后,我收到错误,然后单击“继续”。基本上,我已经删除了我的定制运输模块和清除缓存,所以我认为默认的Magento运输方法应该可以工作,但它给了我错误。