かなり長い、メモリを大量に消費するループがあります。サーバーに実行時間制限が設定されているか、メモリが不足しているため、一度に実行できません。
このループを小さなチャンクに分割したいと思います。
ループを小さなチャンクに分割し、ロケーションヘッダーを設定して、新しい開始条件でスクリプトをリロードするというアイデアがありました。
MY OLD SCRIPT(擬似コード。以下の欠点を認識しています)
for($i=0;$i<1000;$i++)
{
//FUNCTION
}
私の新しいスクリプト
$start=$_GET['start'];
$end=$start+10;
for($i=$start;$i<$end;$i++;)
{
//FUNCTION
}
header("Location:script.php?start=$end");
ただし、新しいスクリプトは数回の反復で正常に実行され、サーバーエラー「リダイレクトが多すぎます」が表示されます。
これを回避する方法はありますか?誰かがより良い戦略を提案できますか?
共有サーバーを使用しているため、メモリ割り当てやスクリプトの実行時間を増やすことができません。
PHPソリューションが欲しいのですが。
ありがとう。