I have several virtual servers operating with php-fpm perfectly fine.
Buffering/caching with Wordpress is great.  But now…
I’m trying to implement a new site that uses php for server-side events
to stream live updates to clients.  This is, I believe, properly done
with an infinite loop in php that will send events as they occur.  The
problem is the events seem to be getting buffered and don’t appear.
If I write the php program to end after sending an event then it works.
If I restart php-fpm then it works - at least for a while.
I’ve tried numerous config options - obviously what I’m trying isn’t
working.  Any suggestions?
–
Daniel
             
            
              
              
              
            
            
                
                
              
           
          
            
            
              Hello!
On Wed, Aug 26, 2015 at 12:33:48PM -0700, [email protected] wrote:
I’ve tried numerous config options - obviously what I’m trying isn’t
working.  Any suggestions?
By default, nginx only starts sending data to a client once it has
a full buffer ready.  If you want to stream data immediately,
you have to switch off buffering - either with the fastcgi_buffering
directive, or using the X-Accel-Buffering header in a response.
See Module ngx_http_fastcgi_module for details.
Additionally, there are some buffering option in PHP.  I’m not a
PHP expert, but likely flush() function will help if the problem
is on PHP side, see PHP: flush - Manual.
–
Maxim D.
http://nginx.org/
             
            
              
              
              
            
            
                
                
              
           
          
            
            
              I thought I had done both…not seeing any difference in behaviour.
Daniel