Bug #16048 Updated: fgets/feof failure when stdin is reading from a pipe
| From: | sander@php.net | Date: | Mon, 01 Jul 2002 19:13:40 +0000 |
| Subject: | Bug #16048 Updated: fgets/feof failure when stdin is reading from a pipe | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-12689@lists.php.net to get a copy of this message | ||
ID: 16048
Updated by: sander@php.net
Reported By: pjm@cctechnol.com
-Status: Feedback
+Status: Duplicate
Bug Type: Filesystem function related
Operating System: Solaris 2.7 & 2.8
PHP Version: 4.1.2
New Comment:
This is actually a dupe of #8849. Please try the snapshot anyway but
add your experiences to #8849. Thanks.
Previous Comments:
------------------------------------------------------------------------
[2002-07-01 15:10:48] sander@php.net
Can't reproduce with the latest CVS. Can you try a snapshot from
http://snaps.php.net to see if it's been fixed?
------------------------------------------------------------------------
[2002-03-13 17:29:53] pjm@cctechnol.com
I also tested this on Red Hat 7.2 with PHP 4.0.6 It works fine there.
------------------------------------------------------------------------
[2002-03-13 17:00:20] pjm@cctechnol.com
The fgets() function works differently when the input is a pipe.
Specifically, feof() returns true after the first line is read. The
test script and sample output follow. The test script works fine if
stdin is redirected from a file. It fails if stdin is a pipe.
Nothing special about the build:
./configure --prefix=/usr/local --with-mysql
pjm@poseidon> cat test.php
#!/usr/local/bin/php -q
<?php
$fd = fopen("php://stdin", "r");
while (! feof($fd))
{
$buffer = fgets($fd, 4096);
echo $buffer;
}
?>
pjm@poseidon> < test.php ./test.php
#!/usr/local/bin/php -q
<?php
$fd = fopen("php://stdin", "r");
while (! feof($fd))
{
$buffer = fgets($fd, 4096);
echo $buffer;
}
?>
pjm@poseidon> cat test.php | ./test.php
#!/usr/local/bin/php -q
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=16048&edit=1