Я установил 3 сервера:
192.168.7.147:6379 <-- redis server
192.168.7.162 <-- web server 1 (using phpredis, with local devdomain jttest.com )
192.168.7.218 <-- web server 1 (using phpredis, with local devdomain jttest.com )
оба 192.168.7.162 и 192.168.7.218, используя php.ini конфигурация точно такая:
extension=redis.so
session.save_handler = redis
session.save_path = tcp://192.168.7.147:6379
также у меня есть перезапуск apache и redis после изменения этих параметров, конечно, я могу использовать базовую функцию redis внутри моего php-кода
Проблемы начинаются здесь, я могу войти в систему на 192.168.7.162, используя стандартный вызов сеанса php (session_start ()), но сеанс не может быть получен на 192.168.7.218 и наоборот, простыми словами, Сессия Redis не используется.
внутри 192.168.7.147 мне не удалось получить ключи, связанные с сеансом (имя сеанса - PHPREDIS_SESSION), посмотрите эти результаты, которые я получаю от redis-cli
redis 127.0.0.1:6379> keys *
1) "attribute"
2) "test"
redis 127.0.0.1:6379>
еще одно, по адресу 192.168.7.218 php по-прежнему сохраняет сеанс с использованием файлов, а не с использованием Redis
[root@centos_wira_devel session]# ll
total 8
-rw------- 1 apache apache 792 Feb 26 16:29 sess_1nm86s67o1o696cgopmrc2hq75
-rw------- 1 apache apache 792 Feb 26 16:41 sess_hhmompfoqjh0emoofppg4v5lp2
для информации, в моем браузере cookie для сеанса (192.168.7.162 и 192.168.7.218) сохранены как ['PHPREDIS_SESSION'] = hhmompfoqjh0emoofppg4v5lp2
на странице phpredis я не нашел FAQ по этому делу (https://github.com/phpredis/phpredis), я не знал, где пропущен шаг.
Настройки сеансов можно изменить в других файлах конфигурации, кроме php.ini. Это может быть подтверждено проверкой раздела "сеанс" вывода phpinfo (). Если значения в столбце «Локальное значение» отличаются от значений в столбце «Основное значение», необходимо проверить другие файлы.
В частности, в Centos, на сервере 192.168.7.162, очень вероятно, что session.save_handler будет установлен на "files" в /etc/httpd/conf.d/php.conf.
Также проверьте конфигурацию php-fpm. После долгого осмотра я нашел вот это. Если вы используете Linux, сделайте grep
чтобы узнать, где и ваша конфигурация изменена, например grep -r "save_handler" /etc/
он будет выполнять поиск по тексту и открывать файлы.
/etc/php-fpm.d/www.conf