为什么fgets挂在wamp上的某个url上,但在mamp上是否正常?

时间:2009-02-19 20:40:04

标签: php fgets hang

我有一个脚本,使用fopen& amp;与fgets。

尝试访问:http://rss.fok.nl/feeds/nieuws时,我的脚本会挂起,直到达到PHP的max_timeout。

事情是:

  • 它完美地工作(在同一个网址上)直到今天。
  • 它仍适用于我的开发mac MAMP服务器。
  • 它不适用于生产WAMP服务器(php 5.2.8)

我尝试了fread但没有成功。

任何想法?

2 个答案:

答案 0 :(得分:1)

嗯,这不仅仅是一个解决方法,而是一个答案,但我不得不诉诸它。 我使用以下功能切换到卷曲,使用此功能:

function curl_get_file_contents($URL)
{
    $c = curl_init();
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($c, CURLOPT_URL, $URL);
    $contents = curl_exec($c);
    curl_close($c);

    if ($contents) return $contents;
        else return FALSE;
}

我在这里找到了它:http://il.php.net/manual/en/function.file-get-contents.php

顺便说一句,如果有人想深入挖掘,根据fgets悬挂的其他报道,它似乎与'feof'或缺乏它有关...

答案 1 :(得分:0)

也许尝试使用wireshark(Ethereal)来调试您的连接。这应该会告诉您原因。由于用户代理,Web服务器可能阻止了您的请求。

您可以在Windows机器上手动下载文件吗?