我有一个使用 fopen 和 fgets 读取 RSS 提要的脚本。
当尝试在http://rss.fok.nl/feeds/nieuws上提供提要时,我的脚本会挂起,直到达到 PHP 的 max_timeout。
事情是:
- 直到今天它都运行良好(在同一个 url 上)。
- 它仍然适用于我的开发 mac MAMP 服务器。
- 它不适用于生产 WAMP 服务器(php 5.2.8)
我试过 fread 没有成功。
有任何想法吗?
我有一个使用 fopen 和 fgets 读取 RSS 提要的脚本。
当尝试在http://rss.fok.nl/feeds/nieuws上提供提要时,我的脚本会挂起,直到达到 PHP 的 max_timeout。
事情是:
我试过 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(Ethereal)调试您的连接。这应该给你理由。由于用户代理,网络服务器可能会阻止您的请求。
您可以在 Windows 机器上手动下载文件吗?