#40750 [Com]: fsockopen timeout parameter overwrites timeout for reading
| From: | judas dot iscariote at gmail dot com | Date: | Mon, 12 Mar 2007 05:24:25 +0000 |
| Subject: | #40750 [Com]: fsockopen timeout parameter overwrites timeout for reading | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-110210@lists.php.net to get a copy of this message | ||
ID: 40750
Comment by: judas dot iscariote at gmail dot com
Reported By: andreas dot rieber at 2e-systems dot com
Status: Open
Bug Type: Network related
Operating System: OpenSuse, Ubuntu
PHP Version: 5.2.1
New Comment:
Im experiencing a very similar problem like this, probably not the same
but related, that makes our application stop working after upgrading
from php 5.2.0 to 5.2.1 all previuos versions do the job fine,
I 'll try to isolate the problem better.
Previous Comments:
------------------------------------------------------------------------
[2007-03-11 14:51:19] andreas dot rieber at 2e-systems dot com
we reproduced it on second OS and wrote better test:
--TEST--
Bug #40750 (default_socket_timeout Test)
--FILE--
<?php
ini_set( 'default_socket_timeout', 5);
$fp = fsockopen( 'www.php.net', 80, &$errno, &$errstr, 3);
$start = time();
$data = fread( $fp, 8192);
fclose( $fp);
echo time() - $start;
?>
--EXPECT--
5
------------------------------------------------------------------------
[2007-03-09 10:30:48] tony2001@php.net
Not reproducible.
------------------------------------------------------------------------
[2007-03-08 13:32:45] andreas dot rieber at 2e-systems dot com
I tried now also the latest snapshoot (php5.2-200703081130) and double
checked my default_socket_timeout which is 60. The fgets gets the
timeout from fsockopen.
------------------------------------------------------------------------
[2007-03-07 21:59:20] tony2001@php.net
>The manual says for fsockopen:
> Note: If you need to set a timeout for reading/writing data over the
> socket, use stream_set_timeout(), as the timeout parameter to
> fsockopen() only applies while connecting the socket.
That's still correct, there were no changes to this behavior.
------------------------------------------------------------------------
[2007-03-07 20:00:16] andreas dot rieber at 2e-systems dot com
I want to use the default connection timeout for read/write but a
shorter timeout to connect (here 5 seconds). What happens is that the
first fgets gets also the 5 seconds timeout and so my header is empty.
The manual says for fsockopen:
Note: If you need to set a timeout for reading/writing data over the
socket, use stream_set_timeout(), as the timeout parameter to
fsockopen() only applies while connecting the socket.
and thats absolut ok and what i want. It worked with php 5.2.0 and
before but not with 5.2.1.
------------------------------------------------------------------------
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/40750
--
Edit this bug report at http://bugs.php.net/?id=40750&edit=1