はじめに
現在、私は XML ファイルを扱っています。PHP を使用して、いくつかの XML ファイルを結合します。これは、PHP のデフォルトの memory_limit を超える大きな操作です。
致命的なエラーで制限を拡張するini_set('memory_limit', '1024M');
と、スクリプトは制限を超えなくなりました。
私が今抱えている問題は、XML ファイルを結合した後、スクリプトにバグがあることです。ブラウザは無限に読み込まれますが、サーバー側ですべてを実行できます。自分自身に電子メールを送信するように、データベースに行を追加します。しかし、クライアント側のすべてが機能しません。単純なecho 'Hello World';
またはのようにheader('location: http://www.google.com');
ファイルを結合しながら、手順を記録します。
$stores = $this->Store->getAll();
$this->log(2, 'all', 1337, 'Start processing ' . count($stores) . ' stores ';
foreach($stores as $store)
{
$this->log(2, $store->id, 1337, 'Start processing store ';
$this->process_store($store->id, false);
}
$this->log(2, 'all', 1337, 'Done with processing ' . count($stores) . ' stores ';
header('location: ' . BASE_URL . '/datatest');
die();
奇妙な部分は、私のスクリプトが最後のログを記録することDone with processing
です。サーバーサイドで行うことはすべて機能します。
しかし、ヘッダー (リダイレクト) はそうではありません。私のブラウザは無限ロードです。
質問
- 何がうまくいかないのですか?
- ブラウザはしばらくするとサーバーとの通信を無効にしますか?