ID:               22297
 Updated by:       [EMAIL PROTECTED]
 Reported By:      sp at m-me dot dk
 Status:           Feedback
 Bug Type:         Filesystem function related
 Operating System: Windows
 PHP Version:      4.3.2-dev
 New Comment:

Could you also paste the output of this script:

<?php
var_dump(gethostbynamel("localhost"));
?>


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

[2003-02-21 05:00:06] [EMAIL PROTECTED]

Can you try using "127.0.0.1" instead of "localhost" in your script?
If that fixes it for you, I will add equivalent code into the PHP core
itself (when running under windows).


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

[2003-02-20 19:31:47] sp at m-me dot dk

[EMAIL PROTECTED] writes:
"Your system has determined two alternative addresses to attempt to
contact for localhost and it attempts each alternative for
default_socket_timeout in seconds."

I'm not into how the file() function tries to read an URL, but after
what [EMAIL PROTECTED] writes it seems that it tries a couple of different
methods for reading the URL if the previous ones does not work. For me
it looks like the first 2 does not work, but the 3th does.

If that is right it then makes sense that the "max_execution_time" has
to be larger than "2 * default_socket_timeout" (because the first two
tries have to time out fist)..

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

[2003-02-20 19:20:47] sp at m-me dot dk

I did a little test to try to find out when the script fails. It looks
like the script fails everytime the "max_execution_time" is smaller
than "2 * default_socket_timeout".

max_execution_time  default_socket_timeout  output
------------------------------------------------------
60                  10                      no error
25                  10                      no error
22                  10                      no error
21                  10                      no error
20                  10                      error
15                  10                      error
10                  10                      error
 5                  10                      error

(when I write "no error" the script still runs for "2 *
default_socket_timeout" seconds though)

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

[2003-02-20 19:02:57] sp at m-me dot dk

The script supplied gives the right output, but still takes
"default_socket_timeout * 2" seconds. I found that if I removed the
first line "set_time_limit(600);" the script faild again - Still I
could not get rid of the long timeout.

The output from the code was:
--------------------------------------------------
array(1) {
  [0]=>
  string(6) "foobar"
}
array(9) {
  [0]=>
  string(15) "HTTP/1.1 200 OK"
  [1]=>
  string(35) "Date: Fri, 21 Feb 2003 00:43:31 GMT"
  [2]=>
  string(29) "Server: Apache/2.0.43 (Win32)"
  [3]=>
  string(44) "Last-Modified: Tue, 18 Feb 2003 15:48:22 GMT"
  [4]=>
  string(23) "ETag: "37a6-6-d5528ab3""
  [5]=>
  string(20) "Accept-Ranges: bytes"
  [6]=>
  string(17) "Content-Length: 6"
  [7]=>
  string(17) "Connection: close"
  [8]=>
  string(44) "Content-Type: text/plain; charset=ISO-8859-1"
}
--------------------------------------------------

The output from the curl command (had to install Cygwin) was:
--------------------------------------------------
$ curl -i http://localhost/test/readfile/test.txt
HTTP/1.1 200 OK
Date: Fri, 21 Feb 2003 00:41:16 GMT
Server: Apache/2.0.43 (Win32)
Last-Modified: Tue, 18 Feb 2003 15:48:22 GMT
ETag: "37a6-6-d5528ab3"
Accept-Ranges: bytes
Content-Length: 6
Content-Type: text/plain; charset=ISO-8859-1

foobar
--------------------------------------------------

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

[2003-02-20 14:39:52] [EMAIL PROTECTED]

Your system has determined two alternative addresses to attempt to
contact for localhost and it attempts each alternative for
default_socket_timeout in seconds.

For some reason it is not connecting successfully.
Please try the following script:
<?php
set_time_limit(600);
ini_set('default_socket_timeout', 5);
$x = file("http://localhost/test.txt";);
var_dump($x);
var_dump($http_response_header);
?>

and report back here.
It would also help if you could try fetching the same url using:

curl -i http://localhost/test.txt

and paste the output here.

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

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/22297

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

Reply via email to