PHP - 处理(不上载)大文件时的服务器错误500

时间:2017-01-07 23:54:27

标签: php ini http-status-code-500

我尝试将440mb CSV文件放入数组:

$handle = fopen("stuff.csv", "r");
$data = array();
while (($line = fgetcsv($handle, 1000, ';')) !== FALSE)
{
    $data[] = $line;
}

它在大约20秒后分解,在PHP ini中max_execution_time设置为50memory_limit设置为1024。可能是什么麻烦?

1 个答案:

答案 0 :(得分:1)

  1. 您是否指定了1024 M或仅指定了1024?
  2. 更多可能1024Mb是不够的。
  3. 你可以:

    • 查看日志,查看error_log
    • 中的php.ini
    • 增加内存两次并测量执行时间 - 如果它也会增加,则为100%memory_limit问题

    将来,在后台脚本中处理大型文件会更有效。您可以使用Gearman