source/Core/Session.php
public function start()
    {
        if ($this->isSessionStarted()) {
            return;
        }

        $myConfig = \OxidEsales\Eshop\Core\Registry::getConfig();

        if ($this->isAdmin()) {
            $this->setName("admin_sid");
        } else {
            $this->setName("sid");
        }

        $sid = $this->getSidFromRequest();

        //starting session if only we can
        if ($this->_allowSessionStart()) {
            //creating new sid
            if (!$sid) {
                self::$_blIsNewSession = true;
                $this->initNewSession();
            } else {
                self::$_blIsNewSession = false;
                $this->_setSessionId($sid);
                $this->_sessionStart();
            }

            //special handling for new ZP cluster session, as in that case session_start() regenerates id
            if ($this->_sId != session_id()) {
                $this->_setSessionId(session_id());
            }

            //checking for swapped client
            $blSwapped = $this->_isSwappedClient();
            if (!self::$_blIsNewSession && $blSwapped) {
                $this->initNewSession();

                // passing notification about session problems
                if ($this->_sErrorMsg && $myConfig->getConfigParam('iDebug')) {
                    \OxidEsales\Eshop\Core\Registry::getUtilsView()->addErrorToDisplay(oxNew(\OxidEsales\Eshop\Core\Exception\StandardException::class, $this->_sErrorMsg));
                }
            } elseif (!$blSwapped) {
                // transferring cookies between hosts
                \OxidEsales\Eshop\Core\Registry::getUtilsServer()->loadSessionCookies();
            }
        }
    }
public function start()
    {
        if ($this->isSessionStarted()) {
            return;
        }

        $myConfig = \OxidEsales\Eshop\Core\Registry::getConfig();

        if ($this->isAdmin()) {
            $this->setName("admin_sid");
        } else {
            $this->setName("sid");
        }

        $sid = $this->getSidFromRequest();

        //starting session if only we can
        if ($this->_allowSessionStart()) {
            //creating new sid
            if (!$sid) {
                self::$_blIsNewSession = true;
                $this->initNewSession();
            } else {
                self::$_blIsNewSession = false;
                $this->_setSessionId($sid);
                $this->_sessionStart();
            }

            //special handling for new ZP cluster session, as in that case session_start() regenerates id
            if ($this->_sId != session_id()) {
                $this->_setSessionId(session_id());
            }

            //checking for swapped client
            $blSwapped = $this->_isSwappedClient();
            if (!self::$_blIsNewSession && $blSwapped) {
                $this->initNewSession();

                // passing notification about session problems
                if ($this->_sErrorMsg && $myConfig->getConfigParam('iDebug')) {
                    \OxidEsales\Eshop\Core\Registry::getUtilsView()->addErrorToDisplay(oxNew(\OxidEsales\Eshop\Core\Exception\StandardException::class, $this->_sErrorMsg));
                }
            } elseif (!$blSwapped) {
                // transferring cookies between hosts
                \OxidEsales\Eshop\Core\Registry::getUtilsServer()->loadSessionCookies();
            }
        }
    }
public function start ( ) { if ( $ this -> isSessionStarted ( ) ) { return ; } $ myConfig = \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) ; if ( $ this -> isAdmin ( ) ) { $ this -> setName ( "admin_sid" ) ; } else { $ this -> setName ( "sid" ) ; } $ sid = $ this -> getSidFromRequest ( ) ; //starting session if only we can if ( $ this -> _allowSessionStart ( ) ) { //creating new sid if ( ! $ sid ) { self :: $ _blIsNewSession = true ; $ this -> initNewSession ( ) ; } else { self :: $ _blIsNewSession = false ; $ this -> _setSessionId ( $ sid ) ; $ this -> _sessionStart ( ) ; } //special handling for new ZP cluster session, as in that case session_start() regenerates id if ( $ this -> _sId != session_id ( ) ) { $ this -> _setSessionId ( session_id ( ) ) ; } //checking for swapped client $ blSwapped = $ this -> _isSwappedClient ( ) ; if ( ! self :: $ _blIsNewSession && $ blSwapped ) { $ this -> initNewSession ( ) ; // passing notification about session problems if ( $ this -> _sErrorMsg && $ myConfig -> getConfigParam ( 'iDebug' ) ) { \ OxidEsales \ Eshop \ Core \ Registry :: getUtilsView ( ) -> addErrorToDisplay ( oxNew ( \ OxidEsales \ Eshop \ Core \ Exception \ StandardException :: class , $ this -> _sErrorMsg ) ) ; } } elseif ( ! $ blSwapped ) { // transferring cookies between hosts \ OxidEsales \ Eshop \ Core \ Registry :: getUtilsServer ( ) -> loadSessionCookies ( ) ; } } }
Starts shop session, generates unique session ID, extracts user IP.

@return void
Starts shop session generates unique session ID extracts user IP .