Может кто-нибудь объяснить, если это правильное поведение с PHP, я ожидал, что session_start() вернет false и получит предупреждение о том, что имя session_name содержит недопустимые символы.session_start возвращает true, но не работает, когда имя_соединения содержит пробел
Код для воспроизведения:
<?php
session_name('m m');
var_dump(session_start());
if(!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
}
else {
$_SESSION['count']++;
}
echo session_name();
echo $_SESSION['count'];
Выполнить это один раз:
bool(true) m m0
перезагрузки страницы:
bool(true) m m0
Должно быть (если сессия работает):
bool(true) m m1
session_start()
возвращает истину, которая указывает на сеанс уже начался. $_SESSION['count']
указывает, что это не работает. Предупреждение о недопустимых символах в имени сеанса отсутствует.
Я не могу найти никаких советов на странице руководства или определения действительных символов для сеанса.
put 'var_dump (session_start());' сверху –
Вы должны вызвать 'session_name()' перед 'session_start()'. –