2014-01-13 96 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。 –

回答

相关问题