ID:               19746
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Closed
+Status:           Critical
 Bug Type:         Filesystem function related
 Operating System: Redhat 7.3 i386
 PHP Version:      4CVS-2002-10-03
 New Comment:

The intial fix did not quite as well as I had hoped. The problem is
still there and is being worked upon.


Previous Comments:
------------------------------------------------------------------------

[2002-10-04 18:10:08] [EMAIL PROTECTED]

This still does not work in snapshot:  php4-200210041500

Interestingly enough, the previous snapshot from 1200 hours worked
better as it accepted STDIN up to the length of the buffer specified in
the program but still did not recognize any EOL prior to reaching that
buffer, now its back to the original behavior. If this behavior
continues after a couple more SNAPS I will reopen this report.

------------------------------------------------------------------------

[2002-10-04 13:53:26] [EMAIL PROTECTED]

This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.



------------------------------------------------------------------------

[2002-10-04 12:11:05] [EMAIL PROTECTED]

Marking this as critical, since the behaviour of this bug demonstrates
a complete breakage of reading from stdin.
The current CVS buffers the read/gets calls, which causes script such
as this sit on read() until the default buffer (8192 bytes) is read in.

------------------------------------------------------------------------

[2002-10-03 19:17:00] [EMAIL PROTECTED]

In trying to take user input from Shell in the last two CVS snapshots
using the SAPI-CLI, the following program [and many variations thereof]
hang on STDIN [basically it takes unlimited input as if its not
recognizing EOL]. This is under an Pentium-2, Redhat 7.3 with the
latest glibc library off Redhat's update site.

<?php
function getInput($length)
  {
            $fr = fopen("php://stdin", "r");
            $input = fgets($fr, $length);
            $input = rtrim($input);
            fclose($fr);
            return $input;
  }
echo "Enter some text (10 char max): ";
$text = getInput(10);
echo "You entered: $text\n";

?>

This program works fine on an older php CGI style binary but does not
work under the current snapshot. Have also tried the manual suggestion
of using the new constant STDIN and that causes the same behavior -
hence my suspicion this is a bug.

Here is the modules compiled in

[root@league league]# php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
pcntl
overload
mysql
mbstring
gd
ctype
zlib

[Zend Modules]



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=19746&edit=1

Reply via email to