星期五, 12月 31, 2010

php process是否持續運作

當php在執行大量運算時,由於http的特性
所以要等到完成了,才會一次將結果印出

在process中,利用tick方式呼叫另一個fucntion
對於browser來說,過程中的輸出值在完成一次出現
不過如果透過程式(client)去連php的話,程式是可持續的接受到php flush的值
<php
 $nextWeek = time();
 $CheckInterval=5;
 
 declare(ticks=1);
 // A function called on each tick event
function tick_handler()
{
  if ( (time()-$nextWeek) >   $CheckInterval)
  {
       echo "R";
       $nextWeek = time();
  }
}

register_tick_function('tick_handler');

for($a=0;$a<10000000;$a++)
{
    ;
}
unregister_tick_function('tick_handler');

echo " done ";

沒有留言: