Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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
Magento:致命错误:在第432行的app\Mage.php中对非对象调用成员函数getModelInstance()_Magento_Fatal Error_Mage - Fatal编程技术网

Magento:致命错误:在第432行的app\Mage.php中对非对象调用成员函数getModelInstance()

Magento:致命错误:在第432行的app\Mage.php中对非对象调用成员函数getModelInstance(),magento,fatal-error,mage,Magento,Fatal Error,Mage,我想使用ajax调用一个PHP文件,在该PHP中,我将通过ajax调用下订单。但当我使用该文件中的app/Mage.php时,它会抛出错误 require_once '../../../../../../../../../../app/Mage.php'; $customer = Mage::getModel('customer/customer'); 然后它说 致命错误:调用 第432行app\Mage.php中的非对象 有人能帮我吗?你提出的解决方案不是最优的。您尚未初始化Mage

我想使用ajax调用一个PHP文件,在该PHP中,我将通过ajax调用下订单。但当我使用该文件中的app/Mage.php时,它会抛出错误

require_once '../../../../../../../../../../app/Mage.php';    
$customer = Mage::getModel('customer/customer');
然后它说

致命错误:调用 第432行app\Mage.php中的非对象


有人能帮我吗?

你提出的解决方案不是最优的。您尚未初始化Magento,因此模块XML尚未加载,并且工厂模式不起作用

只需使用以下任一选项:

Mage::init(); // 1.5+ 


在使用getModel之前。

您应该首先初始化Magento框架:

/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';

Mage::init($mageRunCode, $mageRunType, array());

您需要初始化magento。最安全的初始化方法是在实际调用模型之前使用初始值设定项

Mage::init()


$customer=Mage::getModel('customer/customer')

我收到了相同的错误消息。解决办法是不同的。我忘了将magento文件夹的权限授予Apache

chown -R apache:apache magento

我个人通过使用

$customer = new Mage_Customer_Model_Customer();
而不是使用


我使用$customer=新的Mage\u customer\u Model\u customer()解决了这个问题;而不是使用$customer=Mage::getModel('customer/customer');它告诉我这个错误“法师注册表项”控制器“已经存在”谢谢Daniel Sloof。我为这个错误挣扎了很多+11111111谢谢丹尼尔,这很有帮助。8年后,你仍然在用这个答案帮助人们+1它看起来像是
Mage::init($mageRunCode,$mageRunType)更合适,但是+1!(但请注意,我使用的是Mage EE 1.12。不同版本可能会有所不同:)谢谢,解决了我的错误。
$customer = new Mage_Customer_Model_Customer();
$customer = Mage::getModel('customer/customer');