2016-01-23 2 views
1

У меня есть две папки на моем веб-пространстве Folder1 и Folder2. Обе папки содержат в себе PHP-контент. В Folder1index.php Я устанавливаю переменную сеанса, которую хочу знать в Folder2. Я уже искал решение, и я тоже нашел что-то с session_set_cookie_params() - но он не работает. Вот файлы, я работаю с:Используйте тот же сеанс PHP на двух разных папках на одном сервере

<?php 

// index.php inside /blog/Folder1/ 

session_name('s'); 
session_set_cookie_params(0, '/', 'www.mydomain.de'); 
session_cache_limiter('private_no_expire'); 
session_start(); 
$_SESSION['auth_key'] = 'abc'; 
echo 'Key assigned'; 

?> 

И мой второй файл, который пытается получить доступ к утвердившейся переменной сеанса:

<?php 

// index.php inside /blog/Folder2/ 

session_name('s'); 
session_set_cookie_params(0, '/', 'www.mydomain.de'); 
session_cache_limiter('private_no_expire'); 
session_start(); 

if($_SESSION['auth_key'] != 'abc') 
{ 
    header('HTTP/1.0 404 Not Found'); 
    exit; 
} 

// do more stuff ... 

?> 

Что я делаю неправильно?

+0

@ Это не правильно, 'session_set_cookie_params()' всегда приходит до начала сеанса, проверьте документ. –

ответ

1

Там нет ничего плохого с PHP, но для отладки этого вам нужно, чтобы понять это, по причине безопасности HTTP не будет устанавливать куки для доменов верхнего уровня, в результате вы должны использовать домен второго уровня следующим образом:

session_set_cookie_params(0, '/', '.mydomain.de');

вы заметили, я заменил www.mydomain.de на .mydomain.de

побольше

убедитесь, что у вас установлены домены, если они не используются, вы можете использовать session_set_cookie_params(0, '/'); без указания индекса поддомена.

+1

Спасибо ... Это исправлено. – baumlol

+0

Рад помочь. :) –

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