PHP session_id()null

时间:2010-12-21 22:17:19

标签: php sessionid

我在会话上遇到了一些困难。

在我当地的MAMP测试服务器上,如果我这样做:

session_start(); echo session_id();

我得到一个漂亮的会话ID。

如果然而,我在我的网络服务器上做同样的事情,我可以从session_id返回的所有内容都是'null'。从session_start()测试返回并使用会话一切正常,但session_id()$ SID和$ PHPSESSID都为空。

为了增加安全性,这是隐藏的吗?我希望能够允许flash通过PHP调用对购物车进行更改,并使用浏览器反映购物车(存储在会话中)。

3 个答案:

答案 0 :(得分:4)

确保session_start()的返回值为TRUE。

确保在脚本向浏览器输出任何内容之前调用session_start()。

检查apache是​​否具有会话路径的写入权限。我的是/ tmp

答案 1 :(得分:1)

我遇到了类似问题(session_id()返回"",我希望,这与您的问题有关)。我关闭了所有相应的标签并删除了所有相关的Cookie,然后重新打开了网站,现在session_id()会返回漂亮的哈希值。

答案 2 :(得分:0)

也许是一个极端的情况,但是对我来说,我通过测试session_start()的返回值来证明它是错误的。

问题出在实际文件的编码上。在会话开始之前,它发出了一些看不见的东西,即使看起来好像什么也没有。

我通过将相关文件复制到纯文本编辑器(我使用https://www.editpad.org/),删除源文件,重新创建空文件,粘贴通过编辑板运行的代码并重新上传来解决此问题。 / p>

此后,一切开始正常填充。