为了账号安全,请及时绑定邮箱和手机立即绑定

已经开始的PHP会话

已经开始的PHP会话

PHP
红颜莎娜 2019-11-13 13:02:01
在我的PHP代码中,如果一个会话已经开始,而我尝试启动一个新会话,则会收到以下通知:注意:会话已经开始-忽略session_start()如何避免这种情况?
查看完整描述

3 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

尝试


<?php

    if(!isset($_SESSION)) 

    { 

        session_start(); 

    } 

?>


查看完整回答
反对 回复 2019-11-13
?
莫回无

TA贡献1865条经验 获得超7个赞

如果您想要一个新的,请session_destroy()在开始之前进行操作。要在启动之前检查其设置,请致电session_status():


$status = session_status();

if($status == PHP_SESSION_NONE){

    //There is no active session

    session_start();

}else

if($status == PHP_SESSION_DISABLED){

    //Sessions are not available

}else

if($status == PHP_SESSION_ACTIVE){

    //Destroy current and start new one

    session_destroy();

    session_start();

}

我会避免检查全局$_SESSION,而不是的 ,我呼吁的session_status()方法,因为PHP明确实现此功能:


通过新函数session_status公开会话状态这是针对(PHP> = 5.4.0)


查看完整回答
反对 回复 2019-11-13
?
湖上湖

TA贡献2003条经验 获得超2个赞

仅当您想破坏上一个会话时:


<?php

    if(!isset($_SESSION)) 

    { 

        session_start(); 

    }

    else

    {

        session_destroy();

        session_start(); 

    }

?>

或者你可以使用


unset($_SESSION['variable_session _data'])

销毁特定的会话变量。


查看完整回答
反对 回复 2019-11-13
  • 3 回答
  • 0 关注
  • 263 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信