这是我在stackoverflow上的第一个问题,我只是好奇..是否有可能在PHP中延迟循环?我正在尝试将每个结果打印到浏览器并在处理另一个循环之前使用sleep()暂停脚本,但它不起作用,这是我使用的脚本:
<?php
$n = 1;
while ($n < 10) {
echo $n."<br />";
$n++;
sleep(1);
}
?>
Run Code Online (Sandbox Code Playgroud)
PS:我在Linux Mint上使用Firefox和Apache2.
服务器通常缓冲服务器端脚本的输出,直到它足够输出尝试类似这样的东西.设置输出缓冲关闭和手动刷新缓冲区的组合.注意implcit flush line以及flush和ob_flush行.
<?php
@ini_set("output_buffering", "Off");
@ini_set('implicit_flush', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('max_execution_time',1200);
header( 'Content-type: text/html; charset=utf-8' );
echo "Testing time out in seconds\n";
for ($i = 0; $i < 1150; $i++) {
echo $i." -- ";
if(sleep(1)!=0)
{
echo "sleep failed script terminating";
break;
}
flush();
ob_flush();
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11432 次 |
| 最近记录: |