<?
echo "lalala";
header("Location: http://www.google.com/");
私はこれをプレーンなPHPファイルに入れ、mod-php(PHPバージョン5.3.2-1ubuntu4.10)を備えた標準apache2サーバーで配信すると、Googleへのリダイレクトが動作します。コンテンツが既にエコーされた後、このヘッダーの場所がリダイレクトされるのはなぜですか?
<?
echo "lalala";
flush();
header("Location: http://www.google.com/");
このコードは明らかに正常なリダイレクトを生成しません。
私の質問は、最初のコードがどのように処理されているのか、なぜ動作するのかです。私はこのようなことができなかった時を覚えているからです。 mod-phpまたはapacheはインテリジェントなので、リクエスト全体をバッファし、内容の前にヘッダーを整理できますか?
そして:私は手動で出力をフラッシュしていないことを確認した場合
が、私はこれに頼ることはできますか?なぜなら、私のアプリケーションはもっと簡単になるからです...