Check if PHP session has already started

后端 未结 26 2082
醉酒成梦
醉酒成梦 2020-11-22 03:08

I have a PHP file that is sometimes called from a page that has started a session and sometimes from a page that doesn\'t have session started. Therefore when I have s

26条回答
  •  礼貌的吻别
    2020-11-22 03:39

    PHP 5.4 introduced session_status(), which is more reliable than relying on session_id().

    Consider the following snippet:

    session_id('test');
    var_export(session_id() != ''); // true, but session is still not started!
    var_export(session_status() == PHP_SESSION_ACTIVE); // false
    

    So, to check whether a session is started, the recommended way in PHP 5.4 is now:

    session_status() == PHP_SESSION_ACTIVE
    

提交回复
热议问题