[PHP-users 28992] curl関数によるデータ収集について

Ayarin Nakamura hana_k1 @ hotmail.com
2006年 4月 13日 (木) 02:03:01 JST


はじめまして。中村と申します。
php初心者で、過去ログなどを参考に試行錯誤しておりますが、解決できず、
質問させていただきます。

現在、curl関数を用いて、Webのサイトからデータを収集し、DBに格納するという
プログラムを
開発中です。
ある程度動くものが作られ、一定の成果を得ているのですが、かなり高い確立で
プログラムの途中で応答なしの状態になってしまい、実行が中断されてしまうという
現象に
悩まされております。
複数ページに亘る取得で取得のページ数が少なく実行時間が短い場合はOKなのです
が、
ページ数が多く、実行時間が数時間にわたるものだと、
途中何らかのタイミングで応答なしの状態になってしまい、結果が途中までしか得ら
れません。
物理的な接続状態は維持されていると思うのですが、何が原因なのか分かりません。

curl自体のタイムアウトの時間も設定してあるのですが、タイムアウトしてくれない
ようです。
ソースは以下の通りです。

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_USERAGENT, $global_values["user_agent"]);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $html = curl_exec($ch);
    curl_close($ch);

$urlにサイトのアドレスを渡し、$htmlにデータが入ってくる動きになっておりま
す。

こちらの環境は
windowsXP
Apache 2.0.53
PHP 5.0.5
postgresql 8.0
です。

みなさまのお力をお借りできたらと思います。
よろしくお願いいたします。

中村

_________________________________________________________________
MSNショッピングでXbox360を早速チェック! 
http://shopping.msn.co.jp/softcontent/softcontent.aspx?scmId=593 



PHP-users メーリングリストの案内