我的情况是我开始了一个 session :
session_id( $consistent_session_name_for_user );
session_start();
$_SESSION['key'] = $value;
但后来我决定我实际上不想“提交”(编写)这个 session 。 PHP 似乎没有任何类型的session_abort_write()
函数。我不想破坏之前脚本运行的 session 变量,所以我不能使用 session_destroy()
我尝试了 session_id("")
,但调用失败了。我可以“重定向” session ,以便它写入另一个 session ,如 session_id("trash")
,但这会导致大量 PHP (Apache) 连接尝试写入同一个 session "file",这是我想避免的。
我在这里高度简化了问题,我们实际上是在 Memcached 中存储 session ,这是一个复杂的代码库。所以我不想一直向 Memcached 服务器发送不必要的“垃圾” session 。
最佳答案
来自 PHP.net,
session_regenerate_id
将用一个新的替换当前 session ID,并保留
当前 session 信息。
session_unset将释放所有注册的变量
session_unregister ( string $name )将注销特定变量
关于php - 如何防止写入已启动的 PHP session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7367756/