我有这个代码,我想设置从3到333,每30个间隔有一个行高,意味着在第3,33,63,93行直到333:
for ($i=3; $i<340; $i+30){
$objPHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight(57);
}
但是当我点击控制器actionGenerate()时,30秒后它不会生成并超时。我能知道它为什么不产生?
如果我使用手动方式,就像逐行一样,PLUS有很多种不同的设置,我会筋疲力尽。
答案 0 :(得分:3)
PHP
限制了任何脚本的执行时间。默认时间为30秒。
您的脚本执行时间可能超过30秒。
将set_time_limit
设为0
。
这将使其无限制。
set_time_limit(0);
for ($i=3; $i<340; $i+=30){ // <--- here was your problem
$objPHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight(57);
}
再试一次。
有关docs
中set_time_limit
的信息
- 编辑 -
问题出在for
循环中。
$i + 30
将30
添加到$i
,但不会分配它。
它应该是$i +=30