PHP/CodeIgniter-遍历9000+DB行生成一个下载的空白页面

PHP/CodeIgniter-遍历9000+DB行生成一个下载的空白页面,php,codeigniter,download,Php,Codeigniter,Download,我正在尝试这个: function send_sms() { $liveQuery = $this->db->get('liveList'); $counter = 0; foreach($liveQuery->result() as $row): $counter = $counter+1; echo("Not hatin', just iteratin'. Message " . $counter); endforeach; } 当liveList有80

我正在尝试这个:

function send_sms() {
 $liveQuery = $this->db->get('liveList');
 $counter = 0;

 foreach($liveQuery->result() as $row):
  $counter = $counter+1;
  echo("Not hatin', just iteratin'. Message " . $counter);
 endforeach;
}

当liveList有8000条记录时,它可以正常运行,但当我尝试使用9000行时,它会生成一个0 KB的空白文档下载。有人知道为什么会发生这种情况吗?

我不熟悉codeigniter,但您是否有php错误报告?可能会抛出一个隐藏的错误

这篇文章应该能帮助你:


空白页通常是超时或脚本崩溃的症状。您可以在服务器日志中找到确切的原因。确保在PHP安装中启用了该指令。另外,请查看web服务器日志。

CodeIgniter默认使用E_ALL,大多数人不会更改此设置。好的,但如果问题通过您的帖子解决,那么它仍应抛出一个错误代码,表明它已超出其内存。既然不是,我只能假设他关闭了错误报告。不是完全关闭。如果您仔细阅读,您会发现有一种使用私有方法的方法,它在处理大型数据集方面会更好。现在显然是超时或内存不足,所以使用更轻的方法意味着这不应该发生。Phil,是的,我不是说你没有为他的问题提供解决方案,但是如果他的屏幕是空白的,错误报告必须关闭。明白了:-这很可能修复9000,但他不知道如果没有错误报告,它是否会在10000处中断。好的,我已经读过了,但我不明白其中的'field1',1部分$结果=$this->db->select'field1,field2'->from'table'->where'field1',1->get;这部分做什么?他正在使用方法链接来构建他的ActiveRecord查询。这是一种仅适用于PHP5的语法,可读性更好,占用的空间更少$query=$this->db->select'field1,field2'->from'table'->where'field1',1->get;与$this->db->select'field1,field2'相同$这->数据库->来自“表”$这->数据库->其中'field1',1$query=$this->db->get;谢谢你的回答,还有一点阅读文档,在我知道之前,鲍勃是我叔叔。