带有fopen的PHP脚本抛出404 Not Found

时间:2015-11-17 14:17:58

标签: php http-status-code-404 fopen

我使用简单的fopen语句来读取文本文件,但我得到了:

  

fopen(http://www.domain.nl/cees.txt):无法打开流:HTTP请求失败!找不到HTTP / 1.1 404

如果我在浏览器中调用http://www.domain.nl/cees.txt,内容会显示没有任何问题,因此该文件存在(对吗?)....

我也尝试了cUrl,但它也返回了404.

如果我在另一台主机上尝试我的php脚本,它运行得很好,所以我想我会比较两台主机的设置,但它们与 allow_url_fopen On相同例。

没有htaccess,rootfolder的权限是755。

我把头发拉过来。有人有什么建议吗?

2 个答案:

答案 0 :(得分:0)

这是我的尝试:

无法访问该文件的服务器位于代理服务器后面。 您也可以在代理后面,并且您的浏览器配置为完成。但不是你的PHP脚本。

如果使用代理,请检查浏览器的配置。如果是这样,那么fopen也必须使用它:

$opts= array(
                 'http' => array( 
                 'proxy' => 'tcp://proxyip:8080', 
                 'header' => array( 
                                     "Proxy-Authorization: Basic $auth" 
                                  ) 
                ) 
); 
$context = stream_context_create($opts);
$file = fopen($url, 'r', false, $context)

答案 1 :(得分:0)

在一个清晰的时刻,我决定检查httpd.conf并发现指定域的VirtualHost-line包含IP4地址,但不包含IP6地址。

我添加了IP6地址,重新启动了Apache,我很开心小兔子!!!

希望这有助于其他人...