0

私はcurlを使用してページからデータを取得します

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $page);     
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
    $str = curl_exec($curl);
    curl_close($curl);
    $raw= str_get_html($str);

$pageページへのURLはどこですか

それはうまく機能しますが、通常よりも大きいページからデータを取得しようとすると、apacheが応答しなくなります

これはapacheログです:

[Sat Sep 15 10:17:36 2012] [notice] Apache/2.2.21 (Win32) PHP/5.3.9 configured -- resuming normal operations
[Sat Sep 15 10:17:36 2012] [notice] Server built: Sep 10 2011 11:34:11
[Sat Sep 15 10:17:36 2012] [notice] Parent: Created child process 3908
[Sat Sep 15 10:17:36 2012] [notice] Child 3908: Child process is running
[Sat Sep 15 10:17:36 2012] [notice] Child 3908: Acquired the start mutex.
[Sat Sep 15 10:17:36 2012] [notice] Child 3908: Starting 64 worker threads.
[Sat Sep 15 10:17:36 2012] [notice] Child 3908: Starting thread to listen on port 8080.
[Sat Sep 15 10:17:53 2012] [notice] Parent: child process exited with status 3221225477 -- Restarting.

ページのサイズが問題だと思います(よくわかりません)、誰かがそれを確認できますか?そして、これを修正する方法はありますか?php.iniでmemory_alocationを増やしようとしましたが、役に立ちませんでした

4

2 に答える 2

0

Web アプリケーションは Windows で実行されていますか? もしそうなら、この記事が役立つかもしれません: http://www.java-samples.com/showtutorial.php?tutorialid=1050

于 2012-09-15T15:59:02.223 に答える
0

ページの取得に時間がかかるため、php ページがタイムアウトになる可能性があります。次のset_time_limit()ようにしてタイムアウトを無効にすることができます。

set_time_limit(0);

その行をスクリプトの先頭に配置します。

于 2012-09-15T16:00:42.553 に答える