Мои переменные сеанса не сохраняются на нескольких страницах - PullRequest
2 голосов
/ 07 апреля 2011

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

Каждая загруженная страницапроходит через эту функцию загрузки:

// Initialise session data
session_start();

// Dispatch the request 
$template = dispatchRequest();

// Output the response 
echo($template->getOutput());

// Finished 
exit;

Шаблон - это функция, которая загружает текущую страницу в соответствии с запрашиваемым действием, например, www.webpage.com/do-something, это вызовет страницу do-something.

Вот часть моего phpinfo вывода:

Session Support enabled 
Registered save handlers files user
Registered serializer handlers php php_binary

Directive Local Value Master Value 
session.auto_start Off Off 
session.bug_compat_42 Off Off 
session.bug_compat_warn On On 
session.cache_expire 180 180 
session.cache_limiter nocache nocache 
session.cookie_domainno value no value 
session.cookie_httponly Off Off 
session.cookie_lifetime 0 0 
session.cookie_path /tmp /tmp 
session.cookie_secure Off Off 
session.entropy_file no value no value 
session.entropy_length 0 0 
session.gc_divisor 1000 1000 
session.gc_maxlifetime 2700 2700 
session.gc_probability 1 1 
session.hash_bits_per_character 5 5 
session.hash_function 0 0 
session.name PHPSESSID PHPSESSID 
session.referer_check no value no value 
session.save_handler files files 
session.save_path /tmp /tmp 
session.serialize_handler php php 
session.use_cookies On On 
session.use_only_cookies Off Off 
session.use_trans_sid 0 0

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

Если это новый сервер, возможно, сеансы не были успешно записаны в папку сеансов, по умолчанию я думаю, что это сохраняет их в / tmp, но вы можете попробовать указать путь в вашем php.ini, например:

session.save_path = "/var/lib/php/session"

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

0 голосов
/ 07 мая 2013

Я сделал

chmod a+rwx /var/lib/php/session

, и это сработало для lighttpd.

...