常见问题,但我很难过。会话变量通过本地(localhost)部署的页面传递,但不在我的(www)主机上传递。我使用的是常见的包括与此代码为每个页面文件:PHP会话变量不通过页面
$sessionDomain = "/";
@ini_set("session.cookie_path",$sessionDomain);
$sessionName = "ccSID".md5('/store/');
session_name($sessionName);
session_start();
我确认,会话ID的Cookie(ccSIDxxxxx ...)留在我的浏览器相同的跨页,但会话变量似乎并没有做在更改到不同目录中的页面时保持不变。
编辑:我的会话cookie文件从一个路径目录有清晰的数据,但没有另一个。我注意到好的目录里有一个空白的php.ini文件。当我将一个空白的php.ini文件放在坏目录中时,会话cookie变得易读,但是常规的浏览器cookie不会从该目录中的页面保存。在目录中处理(空白)php.ini文件会改变会话cookie的行为?
您是否检查cookie是否被接受并在随后的请求中发送? – Gumbo 2010-03-21 16:47:46
只要我请求来自同一个目录的页面,(会话)cookies就会保持设置。来自不同目录的请求,cookie不见了。 – mitch 2010-03-21 17:10:15
但你说在你的问题中完全相反 - '我确认会话ID cookie在各页上保持不变'。现在你说cookie不见了。无论如何,你必须摆脱所有这些有趣的事情,只留下'session_start();'。我相信你会让你的网站工作。 HTTP交换日志也有助于cookie调试。 – 2010-03-21 17:13:49