Как проверить, введен ли session_start?

У меня есть сторонний скрипт, и мне интересно, как я могу проверить PHP если session_start() был объявлен перед тем, как что-то сделать?

 something like if(isset($_session_start())) { //do something } 

 if(!isset($_SESSION)) { session_start(); } 

Проверка позволит вам сохранить текущий сеанс активности, даже если это приложение обратной заявки на цикл, в котором вы планируете повторно использовать форму, если данные введены неверно или имеют дополнительные сдержек и противовесов в вашей программе, прежде чем перейти к следующей программе.

Как и в PHP> = 5.4.0, у вас есть функция session_status (), которая сообщает вам, была ли она инициализирована или нет, или если она отключена.

Например, вы можете:

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

Подробнее об этом можно узнать в http://www.php.net/manual/en/function.session-status.php

Я полагаю, вы могли бы использовать функцию session_id :

session_id() возвращает идентификатор сеанса для текущего сеанса или пустую строку (""), если текущий сеанс отсутствует (текущий идентификатор сеанса отсутствует).

Или, возможно, тестирование того, установлено ли $_SESSION или нет, с isset , может сделать трюк, так как его нельзя устанавливать, когда сеанс не запущен – вам просто нужно надеяться, что ничего не присваивает ничего $_SESSION без начала сеанса ,

для php> = 5.4.0

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

для php <5.4.0

 if(session_id() == '') { session_start(); } 
 if(isset($_SESSION)) { // do something } 
 function session_started(){ return !!session_id(); } 

Если сеанс уже запущен, ошибка: «Неустранимая ошибка: нельзя использовать возвращаемое значение функции в контексте записи»

Попробуй это:

 $session = session_id(); if(empty($session)){ session_start(); } 

Я просто написал для него простую функцию.

  function isSessionStart () { if (version_compare(phpversion(), '5.4.0', '<')) { if(session_id() == '') { return false; } return true; } else { if (session_status() == PHP_SESSION_NONE) { return false; } return true; } } 

лучший способ работать для меня! if (session_status ()! = 1) session_start ();

 if(defined('SID')) // do