ID: 19746
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Open
+Status: Critical
Bug Type: Filesystem function related
Operating System: Redhat 7.3 i386
PHP Version: 4CVS-2002-10-03
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[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