Edit report at https://bugs.php.net/bug.php?id=60817&edit=1
ID: 60817 Updated by: cataphr...@php.net Reported by: landeholm at gmail dot com Summary: stream_get_line() incorrectly blocks Status: Closed Type: Bug Package: Streams related Operating System: Linux/Ubuntu PHP Version: 5.3.9 Assigned To: cataphract Block user comment: N Private report: N New Comment: This fix is only on 5.3.11, so it's normal you're experiencing the problem in 5.3.10. Previous Comments: ------------------------------------------------------------------------ [2012-05-15 12:23:04] olouvignes at gmail dot com Just migrated from 11.10 w/ php5.3.6-13 to 12.04 w/ php5.3.10-1 and this new php version broken a beanstalkd socket. It does not stop on "\r\n" anymore and hangs till timeout, while it works correctly on 5.3.6-13. ------------------------------------------------------------------------ [2012-04-18 09:46:27] larue...@php.net Automatic comment on behalf of cataphract Revision: http://git.php.net/?p=php-src.git;a=commit;h=f5a457318217a66fddc0d47af04a00f144dcbcec Log: - Further fix for bug #60455 (stream_get_line misbehaves if EOF is not detected together with the last read). - Fixed bug #60817 (stream_get_line() reads from stream even when there is already sufficient data buffered). stream_get_line() now behaves more like fgets(), as is documented. #withheld commit to 5.4 ------------------------------------------------------------------------ [2012-03-06 14:47:41] john dot papaioannou at gmail dot com I am still seeing this issue using the code given by landeholm at gmail dot com (broken down into two scripts because I 'm on Windows). Specifically, referring to this line: print "server got line: " . stream_get_line($socket2, 1024, "\r\n") . "\n"; * with a buffer size of 1024, the read times out * with buffer sizes smaller or equal to the lines actually being written from the client (e.g. tried 5 and 8 bytes) the read works Windows 7 x64, PHP 5.3.10 x86 on Apache 2.2.21 ------------------------------------------------------------------------ [2012-03-05 01:56:18] s...@php.net Re-opened to track 5.4. Please merge to 5.4 and close. ------------------------------------------------------------------------ [2012-01-22 20:57:19] cataphr...@php.net This bug has been fixed in SVN. 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/. For Windows: http://windows.php.net/snapshots/ Thank you for the report, and for helping us make PHP better. Fixed, now the function doesn't try to fill the buffer with $length bytes; it behaves more like fgets() typically returning false in the last iteration (if the file ends with the delimiter). ------------------------------------------------------------------------ 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 https://bugs.php.net/bug.php?id=60817 -- Edit this bug report at https://bugs.php.net/bug.php?id=60817&edit=1