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

当尝试在以下位置喂食时: http://rss.fok.nl/feeds/nieuws 我的脚本挂起,直到达到 PHP 的 max_timeout 。

事情是:

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

我尝试了 fread 但没有成功。

有任何想法吗?

有帮助吗?

解决方案

好吧,这更像是一种解决方法,而不是答案,但我不得不诉诸它。我使用以下函数切换到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”有关......

其他提示

也许尝试使用wireshark调试您的连接(空灵). 这应该给你理由。也许网络服务器由于用户代理而阻止了您的请求。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top