基于PHP的长连接方法的实现及注意事项
PHP可以使用set_time_limit(0)取消php脚步超时限制,实现长连接的影响。示例代码如下所示:
复制代码代码如下所示:
< PHP
每3秒输出一次;
set_time_limit(0); / / PHP的担保计划将未用完的时间
当(1){
回声日期()。
ob_flush();
刷新(PHP);刷新和输出缓冲区数据
睡眠(3);延迟3秒
}
>
示例代码2:
复制代码代码如下所示:
(0)set_time_limit;
标题(连接:保持活力);
标题(代理连接:保持活力);
($ i = 0;$ i < 60;$ + +){
我print'text美元。;
ob_flush();
同花顺();
睡眠(1);
clearstatcache();
}
这里的ob_flush()()()调用;冲洗;强制输出数据缓冲区,使数据可以返回到浏览器之前,在时间的脚步回来。另外,有些地方是特别容易在平和ob_flush使用错误,造成未能刷新输出缓冲区。
1。平和ob_flush正确的顺序是正确的,第一ob_flush然后冲洗,如下:
ob_flush();
同花顺();
如果Web服务器的操作系统是Windows系统,反向或没有ob_flush()是没有问题的。但是输出缓冲区不能被刷新的Linux系统。
两。使用前ob_flush(),确保上述内容的大小是4069个字符。
某些Web服务器的默认值是4069个字符或更大,也就是说,输出内容必须达到4069个字符。服务器将刷新刷新输出缓冲区。为了确保冲洗的有效性,最好是在ob_flush有以下语句()函数:output_buffering。
打印str_repeat(
确保output_buffering值达到。
复制代码代码如下所示:
(0美元= 10美元;
{
回声$ i;
ob_flush();
同花顺();
睡眠(1);
}
ob_end_flush();