|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-03-15 20:38 UTC] pollita@php.net
[2003-03-15 23:08 UTC] sniper@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 18:00:01 2025 UTC |
I'm runnin' a local Apache webserver 1.3.27 on my win2000 machine. PHP 4.3.1 is included as a CGI. When i'm trying to access a non-existing file on my local Apache, PHP tries to access it as a local file and isn't doin a HTTP request as it should do. Examples: <?php fopen("http://localhost/404.html", "r"); ?> PHP throws this msg into the error_log of Apache: > PHP Fatal error: Unknown(): Unable to open > X:\webroot\404.html in Unknown on line 0 .. but no info to STDOUT Doing <?php fopen("http://www.gmx.de/blabla.html", "r"); ?> Just works as expected: > PHP Warning: fopen(http://www.gmx.de/blabla.html) > failed to create stream: HTTP request failed! > HTTP/1.1 404 Not Found But it becomes more curious. Doing a HTTP request on my own with fsockopen results in the same error as above! <?php $fp = fsockopen ("localhost", 80, $errno, $errstr, 5); if(!$fp) { die($errstr);} $header_done=false; $request = "GET /404.html HTTP/1.0\r\n"; $request .= "User-Agent: PHP 4.3.1\r\n"; $request .= "Host: localhost\r\n"; $request .= "Connection: Close\r\n\r\n"; $return = ''; fputs ($fp, $request); $line = fgets ($fp, 512); $this->header["status"] = $line; while (!feof($fp)) { if($header_done) { $line = fread ( $fp, 1024 ); $this->content .= $line; } else { $line = fgets ($fp, 128); if($line == "\r\n") { $header_done=true;} else { $data = explode(":",$line); $this->header[$data[0]] = trim($data[1]); } } } fclose ($fp); ?> I am sending a HTTP GET-request to localhost to get the non-existing file, but the answer of the Apache is "200 OK"! And then the same log entry as with fopen(): > PHP Fatal error: Unknown(): Unable to open > X:\webroot\404.html in Unknown on line 0 Why does PHP wants to open a local file, even if i'm doing a HTTP request manually ? The same script works with an other host as expected, too. Regards, Nils.