关于make出空页面的问题?

#1 cisway

make对数据量的支持如何,
在实际开发过程中碰到一个问题
就是如果数据量比较大的话,make出来是空页面

例如2个动作,
function makeHtml(){
    spClass('spHtml')->make(array('adult','index'),'/themes/.../index.html');
   }



function index(){ // 这里是首页
  ....
此处有N个循环
...
  //print_R($contentMsg);
  $this->contentMsg = $contentMsg;
   $this->display("index.html");
  }
}

如果走c=adult&a=index
只是执行比较缓慢,但能展示页面
但如果走c=adult&a=makeHtml
如果有2个循环,能make出正确的页面
如果多加1,2个循环进入,make出来的页面为空
请问如何解决这个问题,是make这个功能的问题,还是哪个地方设置的问题?

打印print_R($contentMsg);make的时候也没有任何数据显示

2011-05-12 09:51:05

#2 jake

用makeAll,另外,make主要功能是通过PHP访问该页面然后再生成静态文件,所以这个过程里面有任何的阻碍都会影响到make

2011-05-12 12:30:02

#3 cisway

用makeAll,另外,make主要功能是通过PHP访问该页面然后再生成静态文件,所以这个过程里面有任何的阻碍都会 ...
jake 发表于 2011-5-12 12:30
makeAll效果比make稍微好一些,如果数据再大点仍然出现空页面,
makeAll对数据查询的时间是不是有限制?
打入模版的数据生成时间过长是不是就会出现这个问题?


因为做过这样的测试,打入3段循环,能生成静态,再加一段跟上面循环一模一样的循环,页面为空
或者同样的循环,可能现在能生成页面,或许过一会生成就是空页面

因为如果查询出来的数据如果为空的话,至少模版页面应该仍然生成啊
而且前台能提示:
开始生成...
页面生成完毕!
但为空

2011-05-13 14:26:07

#4 jake

SP没有做限制,不过PHP本身有运行时间的限制。

我这里给个建议是,一般批量生成文件这种大批量的操作,建议是通过队列模式来进行,而避免直接一次运行,否则很容易出现问题

2011-05-13 16:59:00