Magento: Fatal error: Call to a member function getModelInstance() on a non-object in app\Mage.php on line 432

我怕爱的太早我们不能终老 提交于 2019-11-28 07:37:57

问题


I want to call a PHP file using ajax where in that PHP i will place order by the ajax call. But it throws error while i am using app/Mage.php from that file

require_once '../../../../../../../../../../app/Mage.php';    
$customer = Mage::getModel('customer/customer');

then it says

Fatal error: Call to a member function getModelInstance() on a non-object in app\Mage.php on line 432

Can anyone please help me???


回答1:


Your proposed solution is not optimal. You have not initialized Magento so module XML is not loaded yet and the factory pattern does not work.

Simply use either:

Mage::init(); // 1.5+ 

or

Mage::app(); // (pretty much anything) below 1.5

before using getModel.




回答2:


You should initialize the Magento Framework first:

/* 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());



回答3:


you need to initialize magento. the safest way to initialize it is by using initializer before your actual call to the model

Mage::init();

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




回答4:


I got the same error message. The solution was different. I forgot to give the permission on the magento folder to the Apache.

chown -R apache:apache magento



回答5:


I personally had solved it by using

$customer = new Mage_Customer_Model_Customer();

instead of using

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



来源:https://stackoverflow.com/questions/7145373/magento-fatal-error-call-to-a-member-function-getmodelinstance-on-a-non-obje

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!