php读取数据太大&运行时间长致使500Internal Server Error错误怎么解决?

对于数据量大的首先若是有field最好限制field,并且能够分批处理,每次取5000(固定数量)ide

$userCount  = D('model')->count();
    for($i = 0; $i < ceil($userCount/5000); $i++) {
        $begin    = $i * 5000;
        $end      = ($i + 1) * 5000;
        $userList = D('model')->field('key_name')->limit($begin, $end)->select();
        foreach ($userList as $value) {
            ...
        }
    }

最后大批量的数据最好文件开头加上:
set_time_limit(0); //执行时间无限
ini_set('memory_limit', '-1'); //内存无限code

相关文章
相关标签/搜索