ID: 21895 Comment by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open Bug Type: Output Control Operating System: FreeBSD 4.7 PHP Version: 4.3.0 New Comment:
I think the key is this: implicit_flush => On => Off Is there a double internal pointer to this setting or something? No amount of setting implicit_flush will make both of them true. This script does not output as you'd expect: <?PHP ob_implicit_flush(1); while (TRUE) { echo ".\n"; sleep(1); } ?> This should output a period every second on the CLI, but does not. Even putting a call to flush() in the while loop does nothing. I was able to get this to work by using ob_flush() oddly enough. So essentially, flushing is completely broken unless you use ob_flush. Previous Comments: ------------------------------------------------------------------------ [2003-01-27 01:12:59] [EMAIL PROTECTED] Basically it just seems to not be working at all on my system...however when initiating "php -i" I get: implicit_flush => On => Off my configure line was: ./configure --with-mysql --enable-ftp --with-apxs=/usr/local/apache/bin/apxs Here is the script, which doesn't output ANYTHING until the script ends...it is then all flushed out at once...the warning messages come out as the script executes, but not the echo's or print()'s <?php print("weee"); $ftp_server = 'host'; $ftp_user_name = 'user'; $ftp_user_pass = 'pass'; $localprefix = '/usr/home/blah/'; $remoteprefix = '/usr/home/blah/'; $subdirs = array('lib','HELP','ONJOINS','HELP/CHANSERV','HELP/NICKSERV'); foreach ($subdirs as $dir) { mkdir($localprefix . $dir); print("mkdir $localprefix . $dir\n"); } // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // check connection if ((!$conn_id) || (!$login_result)) { echo "FTP connection has failed!\n"; echo "Attempted to connect to $ftp_server for user $ftp_user_name\n"; exit; } else { echo "Connected to $ftp_server, for user $ftp_user_name\n"; } // get the files foreach ($subdirs as $dir) { ftp_chdir($conn_id, "$remoteprefix$dir"); print("$remoteprefix$dir"); $curdir = ftp_pwd($conn_id); foreach (ftp_nlist ($conn_id, $curdir) as $file) { $download = ftp_get($conn_id, $localprefix . $dir . '/' . $file, $file, FTP_ASCII); // check upload status if (!$download) { echo "FTP upload has failed for $dir/$file!\n"; } else { echo "Downloaded $dir/$file successfully\n"; } } } // close the FTP stream ftp_close($conn_id); ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=21895&edit=1