ID: 34972
Comment by: joseph at none-yo-business dot com
Reported By: VJTD3 at VJTD3 dot com
Status: Assigned
Bug Type: Streams related
Operating System: win32 only
PHP Version: 5.2CVS-2008-07-15
Assigned To: pajoye
New Comment:
Hope this helps someone else, but the workaround I had to do was to
fread(stdin) from another script, output to a temp file, then use output
in my other script.
Yeah its ugly, but at least I have an interactive shell (or should that
be shells :)
Dear PHP developers. I love php. Its the glue that holds everything I
do together.... Please take this in the best way possible, WTF? This bug
should not be there... And 4 years after the fact?! Please help me love
PHP even more, and fix this bug.
Previous Comments:
------------------------------------------------------------------------
[2009-11-14 15:31:44] raskin at aoeu dot ru
Confirmed on Nov 14th, 2009 with PHP 5.2.11 on WinXp
Yet no useful fix. Linux (Ubuntu 9.10 is just fine)
------------------------------------------------------------------------
[2009-07-22 22:58:50] xektrum at gmail dot com
I can confirm this bug affects PHP 5.3.0. today at July 22 2009 almost
4 years from its submittion and still no fix.
This is very important since you can't create a really interactive CLI
application with this issue, and stops developers from choosing PHP to
theirs CLI/CMD/Console application (Although this could affect PHP-GTK
users and developers)
Hope this fix soon
Regards
------------------------------------------------------------------------
[2009-04-16 17:48:36] frase at cs dot wisc dot edu
I'm having the same trouble.
With php-5.3.0-beta1 on Linux it works fine, both on STDIN and on
fopen('/dev/ttyS0'). stream_set_blocking() returns true,
stream_get_meta_data() confirms, and the stream behaves as if
non-blocking.
But with php-5.2.9 on Windows 2000 it doesn't work for either STDIN or
the serial port (COM1 instead of /dev/ttyS0). stream_set_blocking()
returns false, stream_get_meta_data() shows blocking, and the streams do
in fact block. I also tried stream_set_timeout() with a tiny value, to
simulate the effect, but that also returns false and doesn't work.
------------------------------------------------------------------------
[2008-10-24 16:11:54] [email protected]
Assigned to the windows port maintainer.
------------------------------------------------------------------------
[2008-03-15 10:57:09] VJTD3 at VJTD3 dot com
on *nix it seems to be solved.
easy way to test:
php -r "stream_set_blocking(STDIN, FALSE);echo fread(STDIN, 10);"
on *nix it instantly exits. (correct behavior)
on windows it will hang for input. (incorrect behavior, it's ignoring
the non blocking setting.)
tested on 5.2.5
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/34972
--
Edit this bug report at http://bugs.php.net/?id=34972&edit=1