Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:已耗尽1920991232字节的允许内存大小_Php_Csv_Memory Limit - Fatal编程技术网

Php 致命错误:已耗尽1920991232字节的允许内存大小

Php 致命错误:已耗尽1920991232字节的允许内存大小,php,csv,memory-limit,Php,Csv,Memory Limit,我用PHP编写了一些代码来读取CSV文件: while (!feof($file_handle)) { $csv=fgetcsv($file_handle, 10024); if(is_array($csv)) { $csv=array_slice($csv, 1); $csvfile[]=$csv; } } 当我运行它时,会出现以下错误: 致命错误:已耗尽1920991232字节的允许内存大小(尝试分配 e(10025字节)

我用PHP编写了一些代码来读取CSV文件:

while (!feof($file_handle)) 
{
    $csv=fgetcsv($file_handle, 10024);
    if(is_array($csv))
    {
        $csv=array_slice($csv, 1);
        $csvfile[]=$csv;
    }
}
当我运行它时,会出现以下错误:

致命错误:已耗尽1920991232字节的允许内存大小(尝试分配 e(10025字节)

我添加了
ini_集('memory_limit','10024M')
这行代码的开头,我也增加了php.ini文件中的
内存限制
,但它给出了相同的错误


有人能帮忙吗?

请注意,要没有内存限制,请将此指令设置为-1。
ini_集('memory_limit','-1')

参考:


然后重新启动apache并重试;)

您完全确定在处理数据之前读取/解析完整文件到数组是必要的吗?除了我不会将整个文件加载到内存中之外,请检查您是否已安装或编译
suhosin
,并启用
suhosin
,如果是,请检查这是否限制了您的内存。@volkery:我正在逐行读取并将其放入数组中,以便以后可以使用该数组,文件大小为20MB。@t.niese。你能告诉我如何检查suhosin是否安装或没有安装,或者是否符合suhosin的要求吗?例如,检查php信息的输出并在那里搜索
suhosin
Hey great catch。我甚至没想过要这么做。不过需要注意的是,代码是用PHP编写的,因此在执行此操作时不需要重新启动Apache。