lamp 將session保存到Redis

需要修改以下三個地方:
1、修改php.ini
2、安裝phpredis擴展
3、修改apache的php.conf
4、如果是php-fpm也有需要修改相關的session配置

php配置文件影響session配置項有:

[Session]
session.save_handler = redis 
session.save_path = "tcp://94.191.91.104:6666" 
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

要將session保存到redis,“session.save_handler = redis ”,“ session.save_path = "tcp://xx.xx.xx.xx:6666"”必須要配置的。
也可以通過

ini_set("session.save_handler", "redis");
ini_set("session.save_path", "tcp://127.0.0.1:6379");

設置。如果配置文件 /etc/redis.conf 裏設置了連接密碼 requirepass,保存 session 的時候會報錯,save_path 這樣寫t cp://127.0.0.1:6379?auth=authpwd 即可。

此外需要安裝phpredis擴展。配置完以後,可能不生效。

通過phpinfo();會看到
圖片描述

配置裏有兩個值,local value,master value。
local value 受apache配置文件/etc/httpd/conf.d/php.conf配置影響:

php_value session.save_handler "files"
php_value session.save_path    "/var/lib/php/session"

master value 受php的php.ini影響。local value 會覆蓋master value。

如果採用php-fpm,php-fpm也有類似的session配置項。
PHP-FPM的配置文件/etc/php-fpm.conf或者/etc/php-fpm.d/*.conf中,也有session的配置。
它們的session配置優先級比php.ini高,會覆蓋php.ini中的配置。
所以,也直接在這裏面改:

php_value[session.save_handler] = redis
php_value[session.save_path] = "tcp://127.0.0.1:6379"

如果用php.ini的配置,則需要把這兩行用;註釋掉。
然後重啓PHP-FPM。

總結:
1、修改php.ini
2、安裝phpredis擴展
3、修改apache的php.conf
4、如果是php-fpm也有需要修改相關的session配置

參考:
Redis保存PHP Session方法
https://www.awaimai.com/1871....
yum 安裝 redis php-redis
https://blog.csdn.net/musicra...
PHP.INI配置:Session配置詳細說明教程
https://www.cnblogs.com/okzzx...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章