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] j...@php.net

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

Reply via email to