ID:               51079
 Updated by:       paj...@php.net
 Reported By:      tony at marston-home dot demon dot co dot uk
-Status:           Bogus
+Status:           Feedback
 Bug Type:         Sockets related
 Operating System: Windows XP
 PHP Version:      5.2.12
 New Comment:

Have you tried with 5.2.13RC2 and 5.3.2RC2?


Previous Comments:
------------------------------------------------------------------------

[2010-02-19 10:58:02] tony at marston-home dot demon dot co dot uk

Rasmus, before you post a comment like that I suggest you first make
yourself aware of the facts.
(1) I am not the only one who has reported it, see
http://bugs.php.net/bug.php?id=47437 where the suggested "fix" was to
disable IPv6 support in Windows.
(2) Nobody has ever said that they cannot reproduce the problem.

This problem exists in Windows XP with IPv6 support enabled, and with
PHP 5.2.12 also with IPv6 support enabled.

None of my web browsers (IE, Firefox, Opera, Safari) has a problem with
resolving 'localhost' to 127.0.0.1

gethostbyname('localhost') returns '127.0.0.1' without any problem.

The CURL extension can send requests to 'localhost' without a problem.

I have another Windows XP PC with IPv6 support enabled, running PHP
5.3.0 with IPv6 support disabled, and fsockopen() will accept
'localhost' without falling over.

So why can't fsockopen() in 5.2.12 deal with 'localhost', only
'127.0.0.1'?

Do NOT tell me that this is a Windows XP issue and that I should
disable IPv6 support. IPv4 and IPv6 are designed to run alongside each
other and are NOT mutually exclusive. The only function on my PC that
has a problem with that is fsockopen(), so stop procrastinating and FIX
IT!

------------------------------------------------------------------------

[2010-02-18 17:44:10] ras...@php.net

You are going to have to debug it yourself.  Nobody has been able to 
reproduce your problem and you are the only one who has reported it.  
We can't fix something we can't see.

------------------------------------------------------------------------

[2010-02-18 11:20:44] tony at marston-home dot demon dot co dot uk

The previous bugs reports have been closed WITHOUT a satisfactory
explanation. It is not good enough to say "disable IPv6 support in your
operating system" as the problem CLEARLY lies within the code for
fsockopen.

If IPv6 support is enabled in the operating system it does NOT mean
that only IPv6 addresses are allowed, it means that both IPv5 and IPv6
addresses are supported.

All of my web browsers (IE, Firefox, Opera, Safari) have no problem in
translating 'localhost' to '127.0.0.1'.

The PHP gethostbyname() function has no problem in translating
'localhost' to '127.0.0.1'.

The PHP cURL extension has no problem in translating 'localhost' to
'127.0.0.1'.

fsockopen() when running in PHP 5.3.0 has no problem in translating
'localhost' to '127.0.0.1'.

So why does fsockopen() in php 5.2.12 have a problem?

------------------------------------------------------------------------

[2010-02-18 11:04:43] j...@php.net

-Status: Open
+Status: Bogus

Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. 

Thank you for your interest in PHP.

------------------------------------------------------------------------

[2010-02-18 10:31:19] tony at marston-home dot demon dot co dot uk

Description:
------------
When are you going to provide a satisfactory answer to bugs
http://bugs.php.net/bug.php?id=50953 and
http://bugs.php.net/bug.php?id=50965? Your only suggestion has been to
disable IPv^ support in the operating system, but this is a total red
herring.

If IPv6 support is enabled in the operating system it does NOT mean
that only IPv6 addresses are allowed, it means that both IPv5 and IPv6
addresses are supported.

All of my web browsers (IE, Firefox, Opera, Safari) have no problem in
translating 'localhost' to '127.0.0.1'.

The PHP gethostbyname() function has no problem in translating
'localhost' to '127.0.0.1'.

The PHP cURL extension has no problem in translating 'localhost' to
'127.0.0.1'.

fsockopen() when running in PHP 5.3.0 has no problem in translating
'localhost' to '127.0.0.1'.

So why does fsockopen() in php 5.2.12 have a problem?




Reproduce code:
---------------
function connect($host) {
    $faultcode   = null;
    $faultstring = null;
    $conn = fsockopen($host, 80, $faultcode, $faultstring, 20);
    if (!$conn) {
        echo 'faultcode=' .$faultcode .', faultstring=' .$faultstring
."\n";
    } else {
        echo "Connected to $host OK\n";
    } // if
    return $conn;
} // function

$result = connect('localhost');
$result = connect('127.0.0.1');
$result = connect('desktop');
$result = connect('www.tonymarston.net');


Expected result:
----------------
I expect to see the message "Connected to <host> OK" for all values of
host.


Actual result:
--------------
Warning:  fsockopen(): unable to connect to localhost:80
faultcode=10060, faultstring=A connection attempt failed because the
connected party did not properly respond after a period of time, or
established connection failed because connected host has failed to
respond.

Connected to 127.0.0.1 OK
Connected to desktop OK
Connected to www.tonymarston.net OK



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=51079&edit=1

Reply via email to