PHP会话id()为空

PHP会话id()为空,php,sessionid,Php,Sessionid,我在治疗过程中遇到了一些困难 在本地MAMP测试服务器上,如果执行以下操作: 会话_start(); 回显会话_id() 我有一个好看的会话id 但是,如果我在我的web服务器上安装了相同的东西,那么我可以从会话\u id返回的所有内容都是“null”。测试session_start()的返回并使用sessions一切正常,但是session_id()$SID和$PHPSESSID都为null 这是为了增加安全性而故意隐藏的吗?我希望能够允许flash通过PHP调用对购物车进行更改,并使用浏览器

我在治疗过程中遇到了一些困难

在本地MAMP测试服务器上,如果执行以下操作:

会话_start(); 回显会话_id()

我有一个好看的会话id

但是,如果我在我的web服务器上安装了相同的东西,那么我可以从会话\u id返回的所有内容都是“null”。测试session_start()的返回并使用sessions一切正常,但是session_id()$SID和$PHPSESSID都为null


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

确保会话_start()的返回值为TRUE

确保在脚本将任何内容输出到浏览器之前调用会话_start()


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

我有一个类似的问题(
session\u id()
返回了
,我希望这与您的问题有关)。我关闭了所有相应的选项卡并删除了所有相关的cookie,然后重新打开站点,现在
session\u id()
返回了一个漂亮的散列值。

可能是一个边缘情况,但对我来说,我通过测试
session\u start()
的返回值来解决它,该值显示为假

问题是实际文件的编码。在会话开始之前,它发出了一些看不见的东西,尽管看起来什么都没有

我通过将相关文件复制到一个纯文本编辑器(我使用的)、删除上的源文件、重新创建空文件、粘贴通过editpad运行的代码并重新编译来解决这个问题


从那以后,一切都开始正常繁殖

如果执行session_start(),会发生什么;变量转储($\会话);有效的会话变量:数组(1){[“产品”]=>&数组(1){[0]=>string(21)“frame-13-1-260-237-18”}那么会话id()仍然报告null…null?奇怪的是,session_id应该只返回id或空字符串。如果我“echo”session是:'.session_id();“I get”session是:null。如果我var_dump(session_id()),我得到:string(4)“null”。。。所以它实际上是一个“null”字符串。非NULLsession_start()TRUE。文件的开头是