My script imports an excel file into a product database to update quantities new products etc....I am having memory issue and I have tried raising the memory limit to the max(800MB+). I have tried unsetting the variables in order to release the memory between the loops but I still run out of memory. I have tried setting the timeout to infinite but its definitely a memory issue.Error msg from log file:Fatal error: Allowed memory size of 851443712 bytes exhausted (tried to allocate 71 bytes)None of the script is contained in a function. If I create the main for loop inside a function and repeatedly call that function will that help garbage collection and clear up memory? Any help or guidance will be appreciated.Import Script:\[code\]error_reporting( E_ALL & ~E_NOTICE );ini_set('memory_limit', '812M');set_time_limit(0);/* Config Start */define('BasePath', '/home/xxxxx/public_html');define('CfgMagentoPath', BasePath);define('CfgCategoryMapDBxls', BasePath."/xxxx/Shdddddd.xls");define('CfgVenderDBxls', BasePath."/xxxx/xxxxxx.xls");define('CfgReportEmail', "[email protected]");/* Config End */require_once(CfgMagentoPath . '/app/Mage.php');Mage::app(); //$app = Mage::app('default'); //Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);require_once(BasePath.'/xxxxx/xxxx/libs/mage.func-inc.php');require_once(BasePath.'/xxxxx/xxxxx/libs/excel-read.class.php');//Alert Arrays$AAnotmapped = array();$AAnewproducts = array();$AApriceupdated = array();$AAimgerror = array();$PriceErrors = array();$SkipCat = false;//Create Mapped Cats - In Magento$excel = new ExcelReader(CfgCategoryMapDBxls,"UTF-8");$CM = $excel->getWorksheetData('Sheet1');if(!$SkipCat){ echo "======== Generating Catagory Maps ===========\n\n"; CatMap_Create($CM); echo "======== ============================== ===========\n\n";}//Start Item Read$excel = new ExcelReader(CfgVenderDBxls,"UTF-8");$IT = $excel->getWorksheetData('New_DATA');$ITcnt = 0;$ITtotal = count($IT);foreach($IT as $ItemRow){ $ITcnt++; $cSKU = $ItemRow['ITEM']; $cProductName = Clean_Data($ItemRow['ALTSHORTDESC']); $cCatName = Clean_Data($ItemRow['CATEGORY']); $cManuf = Clean_Data($ItemRow['MANUFACTURER']); $cShortDesc = Clean_Data($ItemRow['SHORTDESC']); $cLongDesc = Clean_Data($ItemRow['LONGDESC']); $cUPC = Prod_GetUPC($ItemRow['UPC'], $ItemRow['ALTUPC']); $cStockQty = $ItemRow['QTY']; $cWeight = Prod_GetWeight($ItemRow['WEIGHT'], $ItemRow['ALTWEIGHT']); $cPrice = Prod_FigurePrice($ItemRow['COST'], $ItemRow['MSRP'], $ItemRow['MAP']); $cCost = $ItemRow['COST']; //Locate Catagory Map Magento ID $mCatId = CatMap_Search($CM, $ItemRow['CATEGORY']); //Now Create Product if($mCatId > 0 && $cProductName != ""){ echo date("m.d.y g:i a")."\t($ITcnt / $ITtotal) Working On: " . $cProductName . " - SKU: $cSKU\n"; $ProdID = Prod_GetIDfromSKU($cSKU); if($ProdID > 0){ if(Prod_Update($ProdID, $cCost, $cStockQty, $cWeight, $cUPC)){ echo "Updated: $cProductName\n"; $ITindex++; } }else{ Prod_Create($cSKU, $cProductName, $cManuf, $cPrice, $cCost, $cWeight, $cShortDesc, $cLongDesc, $cStockQty, $cUPC, $mCatId); echo "Created: $cProductName to Catagory: $mCatId\n"; echo "$cShortDesc\n\n"; $ProdID = Prod_GetIDfromSKU($cSKU); } if($cPrice <= $cCost){ array_push($PriceErrors, "[$cSKU] $cProductName > Cost: $cCost | Price: $cPrice"); echo "Price Lower than Cost : Auto Inactive : Cost: $cCost | Price: $cPrice\n"; } Prod_AddImg($ProdID, $cSKU); } unset($ItemRow, $ProdID, $cSKU, $cProductName, $cManuf, $cPrice, $cCost, $cWeight, $cShortDesc, $cLongDesc, $cStockQty, $cUPC, $mCatId); echo "\n"; }echo "======== Disabling 0 Product Catagories ===========\n\n";Cat_Disable_Empty($CM);echo "======== ============================== ===========\n\n";unset($CM, $IT, $excel);//array_push($AAnotmapped, 'Cat not Mapped');//array_push($AApriceupdated, '### Price Updated');//array_push($AAimgerror , 'Image Error');Send_Status_Email();Mage_Reindex();echo date("m.d.y g:i a")."\tCompleted\n\n";//print_r($AAnotmapped);//print_r($AApriceupdated);//print_r($AAimgerror);\[/code\]