基于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();