Alan Knowles wrote:
> To try and clarify...
> 
> #!/usr/bin/php -q
> <?
> 
> echo "please enter a word";

flush(); // is needed here, since above line does not have newline.

> $fh = fopen('php://stdin')
> $s = fgets($fh,100);
> echo "you entered $s" ;
> 
> ?>
> 
> Would this be affected by the change? - eg. would you need to flush();
> before the prompt appeared?

I wrote impclit_flush setting in php_cli.c will prevent changing the
setting. (I thought it will not due to CLI doc)

I take it back, since it is done in early stage, the setting is
over written by php.ini apparently. It's confusing, since it's differs
from php.ini-dist/recommended.

[yohgaki@dev DEV]$ /usr/local/apache/bin/php -i | grep implicit_flush
implicit_flush => On => Off
(This makes PG(implicit_flush)=1 in php_cli.c still bogus)

>From main/main.c
        STD_PHP_INI_BOOLEAN("implicit_flush",           "0",            
PHP_INI_PERDIR|PHP
_INI_SYSTEM,OnUpdateBool,       implicit_flush,                 php_core_globals,      
 co
re_globals)

The default should be the same as main.c, IMO. Removing the
line from the php_cli.c will make CLI behavior more consistent.

If CLI should flush for every echo/print, more consistent way of
handling the setting is needed at least.

BTW, whether I like it or not, users can change OG(implicit_flush)
to call flush() always when echo/print is used.

--
Yasuo Ohgaki


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php


Reply via email to