ob_flush 使用時のヒント: E_WARNING: ヘッダー情報は変更できません - ヘッダーはすでに送信されています
解決方法は?
コードは次のとおりです:
echo $show_msg."<script>$script</script>";
flash();
エラーメッセージは非常に明確に書かれています。応答ヘッダーが出力されているため、ヘッダー情報を変更することはできません。
ob の新しいレイヤーを開いてデータを直接出力していないはずです。デフォルトでは、ブラウザに直接送信されます
通常、ob を使用する場合、最初にデータが ob に書き込まれ、その後 ob の内容が出力されます
obの新しいレイヤーを開いて直接データを出力(そしてレスポンスを出力)していないはずです。デフォルトでは、ブラウザに直接送信されます
ob を使用する場合、通常、データは最初に ob に書き込まれ、書き込んだ後に内容が ob に出力されます。 used ob_start
function flush_buffers(){ ob_end_flush(); ob_flush(); flush(); ob_start(); }
エラーメッセージは明確に書かれていて、レスポンスヘッダも出力されているので、ヘッダ情報は変更できません
obの新しいレイヤーを開いて直接出力していないはずですデータ (同時にレスポンスヘッダーも出力) デフォルトではブラウザに直接送信されます
ob を使用する場合、通常は最初にデータが ob に書き込まれ、書き込みが完了したら内容を ob に出力します
簡単に言うと、ob_start を使ったことがないかもしれません
具体的にはどうやって使うのですか? phpwindで開発しました。前の挿入操作で出力があった理由がわかりません。コードを調べましたが、出力が見つかりませんでした。つまり、彼がそれを出力したという事実は変更できませんし、彼のコードを変更することもできません。私は彼の後ろでフラッシュを使いました。解決策はありますか?
function flush_buffers(){ ob_end_flush(); ob_flush(); flush(); ob_start(); }
phpwind で開発しました。前の挿入操作で出力があった理由がわかりません。コードを調べましたが、出力が見つかりませんでした。つまり、彼がそれを出力したという事実は変更できませんし、彼のコードを変更することもできません。私は彼の後ろでフラッシュを使いました。解決策はありますか?
BOM の頭。
前面から出力があるはずです。以前の出力を無視できる関数はありますか?覚えているようです。 ob_end_flush、ob_flush、flush、ob_start はいつも混乱させます
header、session_start、setcookie のみが発生する可能性があります
E_WARNING: ヘッダー情報は変更できません - headersすでに送信されました
エラー メッセージが示すエラーの場所を注意深く確認してください
ob_flush(); はキャッシュを起動するものであり、あなたが指摘した問題は発生する可能性は低いです
header、session_start、setcookie のみが発生する可能性があります
E_WARNING:ヘッダー情報は変更できません - ヘッダーはすでに送信されています
エラー メッセージで示されているエラーの場所を注意深く確認してください
前の出力が原因でエラーが報告されたのであれば、私はずっと前にエラーを報告していただろう。自分でアウトプットしてみます。しかし、エラーは確かに ob_flush 行です。
以前に Ob_Start('ob_gzhandler'); に似たコードがあったのではないかと思います。
ob_flush(); はキャッシュを起動するためのものであり、あなたが指摘した問題は発生する可能性は低いです
header、session_start、setcookie のみが発生する可能性があります
E_WARNING: ヘッダー情報は変更できません - ヘッダーは既に送信されています
エラー メッセージ プロンプトを注意深く確認してくださいエラーが発生した場所
エラーを発生させるために
echo 'sd';ob_flush(); flush();
除非出现语法错误,#10 的代码前加什么都不会出错!
但是在后面加 header、session_start、setcookie 之一,就可能出错了
你最好贴出完整的错误信息
我找到问题的答案了。是我那行代码阻碍了系统的报错,而不是系统影响了我那行代码的运行。报错信息如下:
Uncaught error with message 'E_WARNING: Cannot modify header information - headers already sent by (output started at E:\AppServ\www\phpwind\upload\src\extensions\pwpick\service\srv\helper\AdminOutputHelper.php:323)'The server encountered an internal error and failed to process your request. Please try again later. If this error is temporary, reloading the page might resolve the problem. If you are able to contact the administrator report this error message.(http://www.windframework.com/)
/** * 错误视图渲染 * * @param array $__vars */ private function render($__vars, $errorcode, $errDir, $errPage) { @extract($__vars, EXTR_REFS); unset($__vars); ob_start(); $this->getResponse()->setStatus($errorcode); $this->getResponse()->sendHeaders(); require $errDir . '/' . $errPage . '.htm'; exit(); }