2

このコードを書いたので、エラーが発生するはずですが、エラーは表示されません。

<?php
    error_reporting(-1);
    echo "s";
    header("Location: /index2.php");
?>

header()の後にあるためecho、PHPはすでに送信されたヘッダーでエラーになるはずです。index2.phpただし、エラーは表示されず、ページは正常に!にリダイレクトされます。

どうすればエラーを確認できますか?リダイレクトが行われるのはなぜですか?

4

2 に答える 2

1

出力バッファリングがアクティブになっているかどうかを確認します。

ob_startと同じですが、暗黙的です。

于 2013-03-03T23:24:17.230 に答える
0

本当に、ヘッダーが既に送信されたエラーを本当に見たいと思っている人を初めて見ました。通常、私を大いに怒らせる何か。ob_start() と ob_flush を使用して解決したので、あなたの場合、サーバーがバッファの問題を解決していると思います。

PHP ob_end_flush() を使用してバッファをオフにしてみてください。またはこれを読んでください: https://stackoverflow.com/a/6386034/827224

于 2013-03-03T23:49:15.710 に答える