nginx / php / php-fpm | Проблема с хранением куки - PullRequest
4 голосов
/ 20 ноября 2010

Привет.

Я сейчас нахожусь в процессе переустановки всего моего выделенного сервера. Я пошел с

-Ubuntu Server 10.10

-PHP 5.3.3.1

-PHP-FPM

-nginx

Теперь почти все работает, хотя с сессиями остается одна проблема. Независимо от того, что я делаю, сеансы, похоже, не сохраняются должным образом (как и при предыдущей настройке).

Базовое приложение - доска phpBB. Когда я вхожу, все в порядке - хотя он добавляет дополнительный параметр SID ко всем URL-адресам.

форум / index.php? С.и.д. = f506ccd42065322f61cb56fc6df6557a

Вы можете без проблем перемещаться по форумам, но если вы удалите параметр SID, вы выйдете из системы. Я подумал, что, возможно, сессии хранятся не в куки, а в URL, но конфигурация php выглядит нормально.

То же самое происходит с phpMyAdmin - я также выхожу, когда удаляю параметр токена.

Между тем, кажется, что куки все равно создаются, похоже, что они не используются или удаляются немедленно.

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

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

Ответы [ 4 ]

2 голосов
/ 21 ноября 2010

Может быть, некоторую полезную информацию можно найти в PHP-fpm error log? Установите параметры в php.ini

error_reporting = E_ALL & ~E_DEPRECATED
log_errors = On
error_log = ;

в какой-то файл php можно записать или "syslog"

Также попробуйте заглянуть в nginx error log.

Имеет ли PHP-fpm process-owner права на запись в sessions dir? См session.save_path на php.ini для session dir

2 голосов
/ 20 ноября 2010

Все параметры cookie сессии * задокументированы здесь .

В частности, проверьте настройки "session.use_cookies", "session.use_only_cookies" и "session.trans_sid".Если PHP не может успешно создать cookie, он обратится к методу trans_sid (который вы видите: идентификатор сеанса передается как переменная запроса / формы).

Вы можететривиально проверять, выходят ли какие-либо связанные с cookie заголовки, используя Firebug и HTTPFox в Firefox.Оба позволяют просматривать входящие / исходящие заголовки для запросов.

1 голос
/ 06 февраля 2012

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

0 голосов
/ 14 декабря 2010

Кроме того, помните о пользователе и группе процессов, так как это повлияет на разрешения по умолчанию, с которыми создаются файлы сеанса.Если задано значение по умолчанию, оно может быть создано как root, и его невозможно будет прочитать при следующем обращении к файлу сеанса.

Ищите Unix user/group процессов в ваших php-fpm.conf и установите для пользователя и группы значение php-fpm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...