сессии, права доступа к файлам

Beavis

Banned
есть 2 разных сайта, один является поддоменом другого

php (CGI/FastCGI) на каждом сайте запускается из-под своего собственного unix-пользователя, соотвественно и файлы сессий для каждого сайта создаются от разных пользователей

domain.ru - user1
subdomain.domain.ru - user2

иногда в php возникает следующая ошибка:

Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (0;666;/tmp/sessions)
Unknown: open(/tmp/sessions/sess_392e167d979c79d2ae62772676e92edc, O_RDWR) failed: Permission denied (13)
видимо из-за того, что у кого-то из пользователей используется одна сессия на оба сайта, и файл сессии, созданный под одним пользователем, пытается быть измененным другим пользователем

вопрос: как это может быть и что с этим делать?
пробовал в php.ini сделать чтобы файлы сессии создавались с правами 666 (по умолчанию создаются 600), но они стали создаваться с правами 644, чего недостаточно для решения проблемы
 

Beavis

Banned
попробовал отключить передачу куки сессии на поддомен, и перед стартом сессии вызываю
PHP:
$cookie_params = session_get_cookie_params();
session_set_cookie_params($cookie_params['lifetime'], $cookie_params['path'], $_SERVER['SERVER_NAME'], $cookie_params['secure'], $cookie_params['httponly']);
результат виден в заголовках
Set-Cookie: PHPSESSID=edda015054350f84966ff5ca50cf4f9c; path=/; domain=domain.ru
вместо
Set-Cookie: PHPSESSID=edda015054350f84966ff5ca50cf4f9c; path=/

но кука сессии всё равно передается на поддомен
 

Beavis

Banned
решил проблему, указав отдельную директорию для хранения сессий основного сайта
всем спасибо за помощь
 
  • Like
Реакции: craz
Сверху