2014-01-13 95 views
-1

我寫了一些代碼在PHP讀取CSV文件:致命錯誤:1920991232個字節允許內存大小耗盡

while (!feof($file_handle)) 
{ 
    $csv=fgetcsv($file_handle, 10024); 
    if(is_array($csv)) 
    { 
     $csv=array_slice($csv, 1); 
     $csvfile[]=$csv; 
    } 
} 

當我運行它,我得到這個錯誤:

Fatal error: Allowed memory size of 1920991232 bytes exhausted (tried to allocat e 10025 bytes)

我添加ini_set('memory_limit', '10024M');這行代碼的開始,我也增加了memory_limit在php.ini文件中,但它給出了相同的錯誤。

任何人都可以幫忙嗎?

+1

你絕對有把握,閱讀/處理數據前解析完整的文件到一個數組是必要的嗎? – VolkerK

+0

除了我不會將整個文件加載到內存中,請檢查是否已啓用'suhosin'安裝或編譯時啓用'suhosin',如果是,請檢查是否限制您的內存。 –

+0

@volkery:我正在逐行閱讀並將其放入數組,以便我可以稍後使用該數組,並且文件大小爲20MB。 –

回答

相關問題