[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 メーリングリストの案内