[英]session_start() throwing error
我目前使用PHP收到以下错误:
Warning: session_start() [function.session-start]:
Cannot send session cache limiter - headers already sent
(output started at /home/paramireze/madisonh3.com/calendar.php:1)
in /home/paramireze/madisonh3.com/includes/common.php on line 5
每个文件的第一行是include common.php
,并在第一行代码common.php
是“如果(isset($ _ SESSION)!){在session_start();}`。
此错误仅发生在calendar.php
和news.php
(如果您访问http://www.madisonh3.com/calendar.php,则可以看到错误)。 我的所有文件都是相同的,包括common.php
。 之后,我将编写html标记并从那里包含标题。
我已经阅读了有关session_start
其他讨论,所有人都说要确保在session_start
之前不输出任何html。 另外,如果我做错了什么,为什么它只发生在我的10个文件中的两个?
在session_start()
命令之前输出数据有一些东西。 由于会话cookie设置为HTTP标头,因此必须在任何HTML输出之前。
错误Cannot send session cookie - headers already sent by (output started at /home/paramireze/madisonh3.com/calendar.php:1) in /home/paramireze/madisonh3.com/includes/common.php on line 5
之前输出。
因此,请查看您的代码,并在session_start()
之前找到可以回显数据的内容。
你应该注意你的编辑器不存储utf-8 BOM头 ,这个头有时候存储在文件的开头有3个字节
编辑器将隐藏它们,因此如果您不确定您的文件是否包含这些字符,您可以使用非解释编辑器(十六进制编辑器)或这个精彩的在线W3C检查器 。 BOM标头被PHP视为输出,这可能导致讨厌Cannot modify header information - headers already sent
错误。
检查您的URL显示,确实存在这样的BOM表头。 查看编辑器(IDE)的设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.