【发布时间】:2015-03-23 13:20:03
【问题描述】:
我需要帮助来了解我做错了什么。 我正在构建 RESTful API 供内部使用。 我有 2 个端点 - /login 和 /logout。 登录时,我正在验证用户输入并创建会话 - 效果很好。 注销时我想销毁会话,但它显示“session_destroy(): Trying to destroy uninitialized session in...”
代码如下:
登录:
$api->post('/login', function () {
if(some validations)
{
session_name('lalala');
session_start();
session_regenerate_id(true);
setcookie(session_name(), session_id(), 0, '/', 'xxx.xxx.xxx.xxx', false, true);
}
});
退出:
$api->post('/logout', function () {
session_unset();
session_destroy(); // here it fails
setcookie('lalala', "", 1);
setcookie('lalala', false);
unset($_COOKIE);
});
请注意,我使用的是 IP 地址而不是域名。我不认为有区别,但请注意。
你能帮我理解这里有什么问题吗?
【问题讨论】:
-
在logout.php文件的开头添加
session_start(); -
你需要会话做什么?
-
你能帮我理解这背后的逻辑是什么吗?我想终止会话。出于什么原因我需要先启动它?
-
您必须启动会话才能获得会话文件的锁定。
标签: php session cookies session-cookies