如何在PHP中实现Server Sent Events?
发布时间:2020-12-13 16:42:23 所属栏目:PHP教程 来源:网络整理
导读:我已经设置了一个服务器发送的事件脚本与 PHP和一个while循环,我不希望脚本不得不保持关闭,必须repoll,所以我把它全部在一个循环. 问题是脚本被卡住了,我不得不放弃该路由,而是使用一个node.js websocket后端. 我的问题是,如果我曾经回到制作服务器发送的事
我已经设置了一个服务器发送的事件脚本与
PHP和一个while循环,我不希望脚本不得不保持关闭,必须repoll,所以我把它全部在一个循环.
问题是脚本被卡住了,我不得不放弃该路由,而是使用一个node.js websocket后端. 我的问题是,如果我曾经回到制作服务器发送的事件php脚本,我该如何实现?
你似乎在php输出缓冲上有问题.尝试将这些行添加到while循环的末尾:
ob_flush(); flush(); 这应该禁用输出缓冲. 编辑您还可以在一段时间(即10分钟)后终止脚本,以减少服务器负载. 我创建了一个图书馆,让你很容易做到这一点.检查它here. 第二编辑 第三次编辑 PHP中还有一种方法来禁用输出缓冲.请参阅以下代码: <?php for($i=0;$i<ob_get_level();$i++){ ob_end_flush(); } @apache_setenv('no-gzip',1); @ini_set('implict_flush',1); ob_implict_flush(true); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |