我在会话上遇到了一些困难。
在我当地的MAMP测试服务器上,如果我这样做:
session_start(); echo session_id();
我得到一个漂亮的会话ID。
如果然而,我在我的网络服务器上做同样的事情,我可以从session_id返回的所有内容都是'null'。从session_start()测试返回并使用会话一切正常,但session_id()$ SID和$ PHPSESSID都为空。
为了增加安全性,这是隐藏的吗?我希望能够允许flash通过PHP调用对购物车进行更改,并使用浏览器反映购物车(存储在会话中)。
答案 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>
此后,一切开始正常填充。