2017-01-05 3 views
0

Я создал два файла:сеанса Set-Cookie-PARAMS путь не работает

// /var/www/blah/index.php (www.example.com/blah/index.php) 

session_set_cookie_params(0, '/blah'); 
session_start(); 
$_SESSION['hello'] = 1; 

и

// /var/www/foo/index.php (www.example.com/foo/index.php) 

session_set_cookie_params(0, '/foo'); 
session_start(); 
echo $_SESSION['hello']; 

При открытии первого, то второй в браузере, я получаю 1.

Почему то же самое SESSION доступно в обоих случаях?

Не должно, согласно session-set-cookie-params.

+0

Это не так. Как вы протестировали? –

+0

@AlexBlex: Я отредактировал, чтобы показать тест. – Basj

+0

Ваш пример кода ошибочен. Это означает, что вы не копировали свой настоящий код, и ваш пример, вероятно, испорчен, и вы что-то упустили. Он должен работать точно так, как описано. – Xatenev

ответ

3

Как я уже говорил в ## PHP на Freenode:

браузер не уважает session_set_cookie_params(), потому что у вас есть действительный PHPSESSID cookie и ваш браузер поддерживает регенерирующее его. (потому что вы посещали страницу раньше). Удалите все свои PHPSESSID cookies и повторите попытку.

+0

Действительно, после нескольких вещей, подобных этому + 'session_destroy();' он, наконец, работал. – Basj

Смежные вопросы