私は試した各サーバーでこのスクリプトがなぜ成功するのか誰にも分かりますか?ヘッダーコールの前に以前の出力があったにもかかわらず、Googleにリダイレクトされました。PHPヘッダーは以前のHTMLとエコー出力にもかかわらず作業をリダイレクトしますか?
PHP documentationによれば、出力後にヘッダーを追加すると失敗し、警告が返されることが記載されています。しかし、私は自分のWebサーバーで一貫性のない動作を見ています。私はいくつかのことを達成するために同様のアプローチを使用してきましたが、ランダムに動作を停止した1つのケースを除いてうまくいきました。
<?php
echo "lol";
?>
<html>
<?php
header("Location: http://www.google.com");
exit();
?>
PHPの最近のバージョンでこれが可能ですか?
私のPHPのバージョンは、Ubuntuの14.04 x64の上でPHP 5.5.9-1ubuntu4.14ある
ほとんどの場合、PHPはいくつかのキャッシング(出力バッファ)を行いますが、ときどき動作します;) – Miro
PHPはすべての出力をデフォルトで保留して、必要なときにヘッダーを挿入できると便利です。私は本当の理由を知りたいのですが。 – OwN
出力を「ホールドオフ」したい場合は、そのための機能があります:http://php.net/manual/en/book.outcontrol.php。一方、並行出力は、多くの用途で非常に重要です。 – Miro