Check if PHP session has already started

后端 未结 26 2107
醉酒成梦
醉酒成梦 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:56

    For versions of PHP prior to PHP 5.4.0:

    if(session_id() == '') {
        // session isn't started
    }
    

    Though, IMHO, you should really think about refactoring your session management code if you don't know whether or not a session is started...

    That said, my opinion is subjective, and there are situations (examples of which are described in the comments below) where it may not be possible to know if the session is started.

    0 讨论(0)
  • 2020-11-22 03:59

    Recommended way for versions of PHP >= 5.4.0 , PHP 7

    if (session_status() == PHP_SESSION_NONE) {
        session_start();
    }
    

    Reference: http://www.php.net/manual/en/function.session-status.php

    For versions of PHP < 5.4.0

    if(session_id() == '') {
        session_start();
    }
    
    0 讨论(0)
提交回复
热议问题