У меня есть эта функция:начала сеанса проверки
public static function sessionStart()
{
try {
if (ini_get('session.use_cookies') && isset($_COOKIE['PHPSESSID'])) {
$sessid = $_COOKIE['PHPSESSID'];
} elseif (!ini_get('session.use_only_cookies') && isset($_GET['PHPSESSID'])) {
$sessid = $_GET['PHPSESSID'];
} else {
session_start();
return false;
}
if (preg_match('/[^a-zA-Z0-9\-]{32}/i', $sessid)) {
return false;
}
session_start();
return true;
} catch (Exception $ex) {
return false;
}
}
Однако, в некоторых случаях, session_start
еще бросает предупреждение. Как я могу проверить идентификатор сеанса, поэтому я никогда не получу предупреждения? Проблема начала ползать, когда я изменил версию PHP с 5.3 до 5.6.
Предупреждение:
идентификатор сеанса, слишком длинный или содержит недопустимые символы, допустимые символы AZ, AZ, 0-9 и '-'
Какое предупреждение? – jeroen
Я добавил предупреждение на вопрос –