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');
来源:https://stackoverflow.com/questions/7145373/magento-fatal-error-call-to-a-member-function-getmodelinstance-on-a-non-obje