PHP会话Cookie仅在我的服务器上停止工作

时间:2010-01-23 05:09:12

标签: php session

我的开发服务器有一个奇怪的问题。就在几个小时前,PHP会话刚刚完全退出工作。每个文件(数百个)都开始显示如下所示的错误,关于未写入的会话cookie。我无法弄清楚问题是什么,导致这种情况刚刚开始发生,在一切正常之前,我甚至没有做出任何改变。更糟糕的是,我无法让它发挥作用。我尝试了不同的浏览器,重启我的服务器,甚至重启我的电脑。什么都没有帮助,任何想法我能做什么?这真的很疯狂

请注意,在调用session_start()之前,我没有任何空格或任何打印到屏幕的内容

  

警告:session_start()   [function.session-start]:无法发送   会话cookie - 已发送的标头   通过(输出开始于   C:\网络服务器\ htdocs中\ friendproject2 \实验室\ 2.PHP:1)   在   C:\网络服务器\ htdocs中\ friendproject2 \实验室\ 2.PHP   在第3行

     

警告:session_start()   [function.session-start]:无法发送   会话缓存限制器 - 标头   已发送(输出开始于   C:\网络服务器\ htdocs中\ friendproject2 \实验室\ 2.PHP:1)   在   C:\网络服务器\ htdocs中\ friendproject2 \实验室\ 2.PHP   在第3行测试

正如我所提到的,这现在发生在我网站的每个文件上,甚至是简单的文件。我发布的错误来自一个简单的文件......

<?PHP
session_start();

$_SESSION['test'] = 'test';
echo 
$_SESSION['test'];
?>

3 个答案:

答案 0 :(得分:1)

C:\webserver\htdocs\friendproject2\labs\2.php第1行的内容已经过时了。

此外,test来自哪里?


似乎问题是文件编码,您应该始终使用 UTF-8无BOM 作为.php文件的首选编码,代码编辑器,例如 {{ 3}} 让你轻松指定(UTF-8 Plain)。

Intype


您还应该阅读Joel Spolsky撰写的alt text http://i48.tinypic.com/ok4a4k.png

答案 1 :(得分:0)

如果start_session()在包含文件中,请检查以确保在向页面输出任何内容之前包含该文件。这就是它说已经发送标题的原因。如果start_session()不是第一件事,我之前遇到过这个问题。

答案 2 :(得分:0)

在没有更改代码和多个页面受影响的情况下,我的第一个调用端口是检查webserver配置(或php.ini或.htaccess)是否添加了自动前置。

这会导致sberry2A的示例代码失败。如果sberry2A的代码有效,那么检查公共包含文件中的一些狡猾的字符。

下进行。