为什么PHP会话被破坏?

时间:2012-12-29 07:43:01

标签: lighttpd php

我有这个PHP代码,

<?php

session_start();
Print_r($_SESSION);
$_SESSION['value'] = 1;
Print_r($_SESSION);

?>

为什么每次刷新页面时都会打印以下内容。

Array
(
)
Array
(
    [value] => 1
)

应该打印,

Array
(
    [value] => 1
)
Array
(
    [value] => 1
)

我在Fedora 14上使用lighttpd作为http服务器。

2 个答案:

答案 0 :(得分:4)

我读到运行chown -R root:lighttpd /var/lib/php/解决了其他遇到同样问题的问题。

来源:
http://masdeni.com/archives/6-Lighttpd-+-PHP-Session-Problem.html

答案 1 :(得分:1)

我会测试session_start()是否返回true(会话开始),例如:

$is_session_started = session_start();

如果$is_session_started == false,那么你的答案就是1/2。另外1/2会找出它为什么没有开始。根据上面的@Ryan,检查您的会话ini设置。

如果您使用Cookie存储会话ID,请确保在打印/回显/返回任何其他值到浏览器之前调用session_start()