PHPExcel for 循环超时

PHPExcel for loop timeout

我有这段代码,我想将 3 到 333 设置为每 30 个间隔具有一定的行高,这意味着在第 3、33、63、93 行直到 333:

for ($i=3; $i<340; $i+30){
        $objPHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight(57);
}

但是当我点击控制器 actionGenerate() 时,它没有生成并且在 30 秒后超时。我能知道它为什么不生成吗?

如果我要使用手动方式,如逐行进行,再加上有这么多不同种类的设置,我会累死的。

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 + 3030 添加到 $i 但不会分配它。 应该是 $i +=30