2011-10-26 10 views
2

PHPで特定の情報のURLを解析し、その情報をウェブページにエコーするスクリプトを作成しました。問題は約200のURLの後で終了するということです(私は〜200,000必要です)。エラーメッセージなどはありません。何が起こっていますか?サーバー側にタイムアウトがありますか、それともブラウザに問題がありますか?これを回避するにはどうすればよいですか?HTTPリクエストで長い操作を実行できますか?

答えて

3

はい、PHPタイムアウトがあり、Apacheでも使用できます。

PHP CLIからスクリプトを実行すると、時間切れになることがありません。

あまりにも多くのように200,000以上のURLの操作を行っています。パフォーマンスのために小さな仕事に分割し、おそらくスパムの目的にも使用することを検討するべきです。

0

大量のデータをエコーするには、flush()とob_flush()を使用できます。これは基本的にデータ部分を準備ができたらすぐにブラウザにプッシュします。

<?php 
echo "\nStarted\n"; 
for($i = 0; $i <10; $i ++) 
{ 
    sleep(1); 
    //do something to get data 
    echo "Data part number $i \n"; 
    ob_flush(); 
    flush(); 
} 
echo "Finished\n"; 
?> 
関連する問題