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

StackOverflow https://stackoverflow.com/questions/7145373

  •  08-01-2021
  •  | 
  •  

문제

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???

도움이 되었습니까?

해결책

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.

다른 팁

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

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');

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

I personally had solved it by using

$customer = new Mage_Customer_Model_Customer();

instead of using

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top