1

我有一个使用 fopen 和 fgets 读取 RSS 提要的脚本。

当尝试在http://rss.fok.nl/feeds/nieuws上提供提要时,我的脚本会挂起,直到达到 PHP 的 max_timeout。

事情是:

  • 直到今天它都运行良好(在同一个 url 上)。
  • 它仍然适用于我的开发 mac MAMP 服务器。
  • 它不适用于生产 WAMP 服务器(php 5.2.8)

我试过 fread 没有成功。

有任何想法吗?

4

2 回答 2

1

好吧,这更像是一种解决方法而不是答案,但我不得不求助于它。我使用以下功能切换到 curl:

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”或缺乏“feof”有关......

于 2009-02-19T21:51:35.107 回答
0

也许尝试使用wireshark(Ethereal)调试您的连接。这应该给你理由。由于用户代理,网络服务器可能会阻止您的请求。

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

于 2009-02-19T20:44:12.753 回答