【问题标题】:PHP Session Cookies stopped working on my server ONLYPHP 会话 Cookie 仅在我的服务器上停止工作
【发布时间】:2010-01-23 05:09:12
【问题描述】:

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

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

警告:session_start() [function.session-start]:无法发送 会话 cookie - 标头已发送 由(输出开始于 C:\webserver\htdocs\friendproject2\labs\2.php:1) 在 C:\webserver\htdocs\friendproject2\labs\2.php 在第 3 行

警告:session_start() [function.session-start]:无法发送 会话缓存限制器 - 标头 已经发送(输出开始于 C:\webserver\htdocs\friendproject2\labs\2.php:1) 在 C:\webserver\htdocs\friendproject2\labs\2.php 第3行测试

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

<?PHP
session_start();

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

【问题讨论】:

  • echo ini_get('safe_mode'); 的输出是什么?
  • 你还记得在它停止工作之前你做了什么吗?
  • @sberry2a echo ini_get('safe_mode');不会在屏幕上打印任何内容
  • @sberry2A:这怎么可能是问题的一部分?
  • @Alix...这只是一种预感...我曾经在某个地方看到过的东西。无论如何,如何编辑文件?本地在文本编辑器中,还是远程在服务器上使用 emacs/vim?

标签: php session


【解决方案1】:

C:\webserver\htdocs\friendproject2\labs\2.php 的第 1 行输出了一些内容。

另外,test 是从哪里来的?


似乎问题出在文件编码上,您应该始终使用 UTF-8 no BOM 作为 .php 文件的首选编码,代码编辑器如 Intype 让您轻松指定它(UTF-8 Plain)。


您还应该阅读 Joel Spolsky 的 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

【讨论】:

  • 我刚刚使用该页面的实际代码更新了我的帖子。测试来自会话变量,如果我在该页面上设置它们,会话在页面上工作,只是它不会发送 cookie 并给他们警告消息
  • 没有 BOM 的 UTF-* 是部分解决方案,但 PHP 期望其输入为 ASCII
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    由于代码没有更改且多个页面受到影响,我的第一个调用端口是检查网络服务器配置(或 php.ini 或 .htaccess)是否添加了自动前置功能。

    这会导致 sberry2A 的示例代码失败。如果 sberry2A 的代码有效,则检查常见包含文件中的一些可疑字符。

    C.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2013-09-11
      • 1970-01-01
      • 2013-08-10
      • 2017-04-07
      相关资源
      最近更新 更多