【发布时间】:2015-09-21 01:32:52
【问题描述】:
我在使用 php 的内置会话功能时遇到问题。
当我启动会话时,客户端会按预期接收会话 cookie。但是 cookie 永远不会被发送回服务器。
所有其他 cookie 都被发送(多次检查)。主机是正确的,路径也是正确的。
php.ini 文件似乎正确。
我也尝试重命名会话 cookie,但没有成功!
我想在每次访问该站点时添加一个会话 cookie。
此外,当我调试它时,我将这一行 error_log(print_r($_COOKIE, true)); 添加为我的代码的第一行。仍然没有会话 cookie。
这是我正在使用的一些代码:
// This function exists so that I only start the session once.
function start_session() {
if(session_id() == "") {
session_start();
setcookie(session_name(), session_id(), time() + ini_get("session.cookie_lifetime"));
// The client gets this cookie!
}
}
start_session();
session.cookie_lifetime 在我的 php.ini 中是 0。这可能是原因吗?
我不知道是什么原因造成的。
【问题讨论】:
-
显示相关代码
-
相关代码是什么意思?我使用 session_start (客户端收到 cookie!)。我要做的第一件事是
error_log(print_r($_COOKIE, true));并且 cookie 不在列表中。 -
相关代码向我们展示了您的代码,以便我们查看您的代码是否存在问题。如果不仔细研究,我们无法做出好的答案
-
然后稍等片刻。代码比较分散
-
您似乎混淆了 cookie 和会话
标签: php session cookies session-cookies