#14740 [Com]: fsockopen() won't timeout
| From: | neil at fresh-toast dot uklinux dot net | Date: | Wed, 06 Nov 2002 11:22:49 +0000 |
| Subject: | #14740 [Com]: fsockopen() won't timeout | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-24188@lists.php.net to get a copy of this message | ||
ID: 14740
Comment by: neil@fresh-toast.uklinux.net
Reported By: l0cky@sn0wmen.fsnet.co.uk
Status: Closed
Bug Type: Sockets related
Operating System: Win98 and Win2k
PHP Version: 4.1.0
Assigned To: jason
New Comment:
I can confirm this function stalls when connecting to (remote)
firewalled ports, on 4.0.6, it works fine on 4.1.2 and I will suggest
my ISP upgrade. Both are redhat/apache.
Question : You refer to the CVS builds having fixed this - which is the
minimal build version for this bug to be fixed ?
Thanks for your help.
Neil Smith
Previous Comments:
------------------------------------------------------------------------
[2002-06-10 23:56:07] jason@php.net
This bug has been fixed in CVS. You can grab a snapshot of the
CVS version 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.
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2002-05-29 00:33:54] jason@php.net
Will work on fix, should be available shortly
-Jason
------------------------------------------------------------------------
[2002-03-22 13:54:22] jroberts@forumone.com
Note on the previous report -- setting an integer for timeout (e.g. 1)
does not change the behaviour. It still takes 3-4 seconds without
timing out.
------------------------------------------------------------------------
[2002-03-22 13:49:59] jroberts@forumone.com
System: RedHat Linux
PHP 4.0.6
I'm specifying a timeout of 0.2 seconds, but the fsockopen() function
is taking as long as 3-4 seconds with slow domains (I know
www.krasnapolsky.sr to be slow). This example took about 3.6 seconds.
CODE:
echo microtime();
echo fsockopen("www.krasnapolsky.sr", 80, &$errno,
&$errstr, 0.2);
echo microtime();
echo "Error Number = $errno, Error String = $errstr";
RESULT:
0.39859300 1016822517
Resource id #1
0.04482100 1016822521
Error Number = 0, Error String =
So the socket is opened -- it just took way longer than I intended to
allow it.
------------------------------------------------------------------------
[2002-02-12 17:13:35] jason@php.net
The Win32 code does not set a timeout. The comment at the end refers to
there being a problm on linux, which I could not reproduce.
Winsock does support non-blocking IO, but is set up quite differently
than BSD sockets.
-Jason
------------------------------------------------------------------------
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/14740
--
Edit this bug report at http://bugs.php.net/?id=14740&edit=1