coderofsalvation/browser-stream

在不使用WebSocket或Ajax的情况下实时将文本流送到浏览器。

dev-master 2015-08-19 10:33 UTC

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! :)

anim.gif?2

像这样使用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