【发布时间】:2012-03-15 16:22:06
【问题描述】:
我最近一直在处理这个烦人的问题,它由一个应该执行相当繁重的处理的 php 脚本组成。
这个脚本有一个循环,可以在 25000*25000 左右进行比较
我已将最大超时设置为 10800
但是当我使用 $time = time();在脚本的开头
并在每次迭代时回显 $time - time()
脚本在 497 秒后停止
请帮我弄清楚我在 497 秒后看到空白页的脚本可能有什么问题。 谢谢。
编辑:
while($a<count($data))
{
$AL = (error_get_last());
if($AL['type']==8)
var_dump($AL);
$i=0;
$compdata[$a] = array();
$row = explode("~",$data[$a]);
$dl[$a] = 0;
while($i<count($data))
{
$i += 1;
if(($i-1)==$a)
continue;
$rowc = explode("~",$data[$i-1]);
$j=0;
$cn = 0;
$tw = 0;
$kcv = "";
while($j<$kc)
{
if(Matcher($row[$kcn[$j][0]],$rowc[$kcn[$j][1]],$MCOUNT,$R))
{
$cn += 1;
$tw += $weight[$j];
$kcv .= $kcn[$j][2];
}
$j += 1;
}
if($tw != 0)
{
$compdata[$a][$i-1] = strval($i).$kcv;
$dl[$a] += $tw;
}
}
$compdata[$a] = join(",",$compdata[$a]);
$a += 1;
}
总循环运行大约为 25000*25000*10
【问题讨论】:
-
很难知道原因,但是,你不能批量做这个过程吗?
-
如果你
echo ini_get('max_execution_time'),那会输出预期的 10800 吗? -
是的,但仍然存在一些问题