| 
        php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits             
             [2001-12-12 04:48 UTC] yohgaki@php.net
  | 
    |||||||||||||||||||||||||||
            
                 
                Copyright © 2001-2025 The PHP GroupAll rights reserved.  | 
        Last updated: Tue Nov 04 04:00:01 2025 UTC | 
Given a perl script test.pl: #!/usr/bin/perl $| = 1; # immediate flush for ($i=0;$i<10;$i++) { print "*"; sleep(2); } exit; And a php script test.php: <? header("Content-Type: text/plain"); ob_immediate_flush; # here or in php.ini echo "calling test.pl\n"; passthru("/path/to/test.pl"); echo "finished\n"; ?> Eventhough both scripts have buffering disabled, no progressive content loading happens. PHP autoflushes the first echo-line, but passthru-output is not flushed until the test.pl script has completed. There are situations where this behavior is no good. I have perl-scripts doing jobs on our server. These perl-scripts are called from a webpage (aka php-script). However, an inbetween firewall shuts down communication after 5 mins with no data transferred. In order to keep the connection alive, I rewrote the perl-scripts such as to send a progress character to the browser every 30 seconds. Not being autoflushed, they don't keep alive anything :-)