我的网站上的网页出现了一个非常奇怪的错误,特别是只有一个网址。
我在页面的第一行有一个PHP包含。包含文件的第一行是session_start();
页面加载时出现此错误:
警告:session_start():无法发送会话cookie - 已由... // etc
发送的标头
这很奇怪,因为会话启动是页面上的第一件事,并且没有其他尝试启动会话。然而,甚至更奇怪的事情......
我有许多其他页面使用基本相同的代码和不同的内容,它们工作正常,没有错误。我用另一个页面中的代码替换了问题页面中的整个代码,基本上创建了一个克隆。 加载页面时,错误仍然存在! WTH?
有什么想法吗?
答案 0 :(得分:3)
您可能遇到BOM的问题,有些编辑器没有显示此标记,因此您无法看到它,但在会话开始之前会将其发送到浏览器。
如何在Windows Notepad ++上删除BOM
Remove a BOM character in a file
Linux使用awk
答案 1 :(得分:2)
BOM可能有问题,请使用Notepad++
来解决此问题
下载Notepad ++并在那里打开文件,删除所有花哨的字符
确保
在Notepad ++中,单击编码,然后单击不带BOM的UTF-8,将文件转换为不带BOM的UTF-8,然后保存。
还要添加ob_start();在session_start()之前;为了安全起见。