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」またはその欠如と関係があるようです...

于 2009-02-19T21:51:35.107 に答える
0

おそらく、wireshark ( Ethereal ) を使用して接続をデバッグしてみてください。これで理由がわかります。ユーザーエージェントが原因で、Web サーバーがリクエストをブロックしている可能性があります。

Windows マシンでファイルを手動でダウンロードできますか?

于 2009-02-19T20:44:12.753 に答える