Hi all, Please take a look at following very simple script;
#!/usr/bin/php -q <? echo "Hello, world!\n"; if (!$tty) { $tty = fopen('php://stdin', 'r'); } print "Hello: "; $ch = fgets($tty, 1024); print "$ch\n"; ?> I tested it on many servers. Here is how it running (you can figure out yourself): Firstly it displays "Hello, world!", then displays "Hello: " at second line and waits for user input; You input a "yes" and it displays the "yes"; then end. So, on the screen you will see: Hello, world! Hello: yes yes However, on one of the servers, it doesn't run like above, but in a reversed way: Firstly, it displays nothing but waits for your input; you input a "yes", then it displays the "yes", then "Hello, world!", then "Hello: yes". So, on the screen it looks like this: yes Hello, world! Hello: yes Weird? To me IT IS! I really don't understand why all the echos/prints did not function until the script got data from tty, even they are before fgets.. I found this issue during an unsuccessfull pear installation. The pear installer stopped and waited for my input without any prompt - there is prompt message but not displayed! Can anyone let me know how this can happen? Thanks in advance! Alex -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php