这是一个已经发送问题的标题,但问题是我有一个我在本地运行的脚本(在Win上的easyPHP)和我的实时服务器(LAMP)。
这两种方法都可以正常工作,但我没有收到标题错误。
现在我有一个客户端在他的服务器上运行它并且他收到了标题错误。
我非常确定这个问题是其中一个文件(在#34之后我刚给他发了一个没有断行的文件;?" - 这可能是一个问题吧?)但是我不知道他为什么会收到错误但是我没有 - 即使是在&#34之后的空格?"" (是的,我的错误报告已开启)
是否有其他可能导致此错误的空格?
快速修改,阅读了下面链接的问题
第一个错误:
<b>Warning</b>: session_regenerate_id() [<a href='function.session-regenerate-id'>function.session-regenerate-id</a>]: Cannot regenerate session id - headers already sent in <b>bla bla bla/includes/lightwork_session.php</b> on line <b>33</b><br />
第33行&#34; lightwork_session&#34;是:我不认为这是问题
public static function sessionStart(){
//regenerate the session id to prevent session fixation
session_regenerate_id(true); //hello, I'm line 33
session_start(); //hello again, I'm line 34 in
}
下一批错误:
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent by (output started at bla bla blaconfig/config_global.php:167) in <b>bla bla bla/includes/lightwork_session.php</b> on line <b>34</b><br />
<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at bla bla bla/config/config_global.php:167) in <b>bla bla bla/includes/lightwork_session.php</b> on line <b>34</b><br />
在config_global.php中的第167行是&#34;?&gt;&#34;
之后的空格我已经给了他一个没有那个空格的文件,但是在世界的另一边,我明天会发现它对他来说是多么有用。但是我很难过为什么他会得到错误而我却没有?
答案 0 :(得分:2)
除了@davidethell之外,我想补充说,错误也可能是由换行符类型或Unicode签名引起的。这是许多IDE和其他编辑器中的一个选项(例如,请参阅Dreamweaver中的“新文档”和“代码格式”部分)。为了安全起见,总是使用Unix样式的换行符类型(LF而不是CR LF)并且不包括Unicode签名(BOM)。
此外,使用大型PHP文件时的一般提示:您不必包含结束?>
标记。例如CodeIgniter采用了这种做法,他们只是用注释“关闭”他们的文件,这可以防止关闭php标签后出现意外的空白。
答案 1 :(得分:1)
结束标记之后的空格是一个问题,但另一个常见原因是由于PHP警告和通知在他的服务器上转向更高的报告级别。如果您有任何打印出的PHP警告或通知,则会导致标题警告。您应该使用以下命令关闭其服务器上的通知:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
或只有错误:
error_reporting(E_ERROR);
我建议保留E_WARNING并修复报告的问题,但至少它会告诉您这是否是问题。
答案 2 :(得分:0)
有些案例如下:
<?php
如果你想快速修复....请看看PHP中的ob_start() ....虽然使用ob_start来抑制这类错误是一种权宜之计。
希望这会有所帮助..