困惑的人寻求:"警告:无法修改标题信息"

Rud*_*die 3 php header output-buffering

我非常想看到PHP警告"无法修改标题信息".为什么?因为这是明智的.你不应该在身体后发送标题.

但是我可以!!如果我在控制器中调试一些变量并且exit之后没有立即调试,那么脚本只会重定向到下一页:所有变为'井'并且我无法看到我的var转储.

在PHP中我可以配置(?)它不缓冲输出?或者无论是什么导致这种奇怪的行为!

只是要清楚:我DO希望PHP的警告我不要想重定向header('Location: ...')工作.

我非常肯定在我以前的(本地)服务器(两个W XP)它确实抛出输出/标题警告...

编辑
为了说明,使用最基本的代码(我不使用,但间接使用它):

$form->validate($_POST);
var_dump($form->errors); // !!
if ( $form->noErrors ) {
  header('Location: '.$form->redirectUrl);
  exit;
}
Run Code Online (Sandbox Code Playgroud)

回答
@Heandel错误报告就是一切(包括通知和弃用等).无论如何:无论错误显示如何都不可能发送标题.

@tandu我正在使用自己的框架,但这也无关紧要.

@ceejayoz我的代码中没有一个ob_start.我不使用它.(模板ngin使用它,但模板不会在回发中触发.)

@Itay Moav我不在共享主机中.我在Windows XP SP2上本地使用PHP 5.3.0(WAMP).在我的网络服务器(VPS)上,这不会发生:我得到了一个很好的PHP警告.

更新
谢谢盖伦

来自php.ini:

; Note: Output buffering can also be controlled via Output Buffering Control
;   functions.
; Possible Values:
;   On = Enabled and buffer is unlimited. (Use with caution)
;   Off = Disabled
;   Integer = Enables the buffer and sets its maximum size in bytes.
; Note: This directive is hardcoded to Off for the CLI SAPI
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; http://php.net/output-buffering
output_buffering = On
Run Code Online (Sandbox Code Playgroud)

转身就行Off了.我想要没有自动输出缓冲.谢谢!

Gal*_*len 5

在php.ini文件中找到output_buffering并确保它设置为0

http://us.php.net/manual/en/outcontrol.configuration.php#ini.output-buffering