php - 如何防止写入已启动的 PHP session ?

标签 php session

我的情况是我开始了一个 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/

相关文章:

forms - 添加 <h :form> causes java. lang.IllegalStateException:提交响应后无法创建 session

php - 如何更改 Yii2 中 Controller 的默认 View ?

javascript - 将英文数字转换为其数字值(忽略小数)

php - Font Awesome 页面加载速度与 css 图像?

php - Laravel 4 Controller 之前和之后的功能

php - 限制提交许多请求Ajax php表单

php - Hiphop for PHP 等工具如何处理异构数组?

php - 设置窗口位置为同一页面 PHP 购物车

php - 如果它有 session_start(),页面将不会加载;在里面

c# - 读取 View MVC 中的 Session 值