$ composer require coderofsalvation/BrowserStream
and then
<?php
use coderofsalvation\BrowserStream;
BrowserStream::enable();
BrowserStream::put("loading");
for( $i = 0; $i < 10; $i++ ){
BrowserStream::put(".");
sleep(1);
}
?>
Now go to your browser and you'll see 'loading' and dots being added every second OH MY! :)
Test it with curl like so:
$ curl -H "Accept: text/event-stream" -N -s "http://localhost/foo.php"
Usually apache gzips the output of php. This is not good if you want realtime output. Therefore disable apache gzip buffering in .htaccess for a particular (realtime streaming) url like so:
RewriteRule ^(yoururl)$ $1 [NS,E=no-gzip:1,E=dont-vary:1]
BSD