coderofsalvation / browser-stream
在不使用WebSocket或Ajax的情况下实时将文本流送到浏览器。
dev-master
2015-08-19 10:33 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2020-01-14 11:31:37 UTC
README
在不使用WebSocket的情况下实时将文本流送到浏览器。例如简单的文本进度条、日志、长时间运行的任务、终端输出等。用法
$ composer require coderofsalvation/BrowserStream
然后
<?php
use coderofsalvation\BrowserStream;
BrowserStream::enable();
BrowserStream::put("loading");
for( $i = 0; $i < 10; $i++ ){
BrowserStream::put(".");
sleep(1);
}
?>
现在去你的浏览器,你会看到'加载'和每秒添加的点 OH MY! :)
像这样使用curl进行测试
$ curl -H "Accept: text/event-stream" -N -s "https:///foo.php"
Apache Gzip == 不起作用
通常Apache会压缩PHP的输出。如果你需要实时输出,这就不太好。因此,在特定的(实时流式传输)URL中禁用.apache gzip缓冲区,如下所示
RewriteRule ^(yoururl)$ $1 [NS,E=no-gzip:1,E=dont-vary:1]
许可证
BSD