我想清除phpexcel中的對象。多次迭代對象會導致內存不足錯誤。PHPExcel未設置對象不起作用
該文檔建議使用disconnectWorksheets,但它不起作用。
下面是代碼:
...
$sheet = $instReader->getSheet($sheetOpts['sheet']);
...
echo "memo1:".ys_getmemusage()."\n";
echo "size=". strlen(serialize($instReader))."\n";
$instReader->disconnectWorksheets();
unset($instReader);
unset($sheet);
gc_enable();
gc_collect_cycles();
echo "memo2:".ys_getmemusage()."\n";
exit;
該文件是由PHPExcel_IOFactory標識的Excel文件::識別
爲Excel2007中
輸出是:memo1:memoryused=45.34888458251953 (45meg)
size=5962925
memo2:memoryused=45.34407043457031 (45meg)
人知道如何解決這個問題?
ys_getmemusage函數只是獲取內存使用如下。
$GLOBALS['raymemory_usage'] = memory_get_usage();
function ys_getmemusage() {
$end_memory = memory_get_usage() - $GLOBALS['raymemory_usage'];
$end_memory = $end_memory/(1024*1024);
return "memoryused=$end_memory\n";
}