linux系统中配置session使用redis 分享链接

最后编辑:柳婷婷 于 2022-04-11 17:27:46
摘要:PHP默认session是以文件形式保存在本地文件系统中,每次访问都是做io操作,并发大的时候,必然会导致session文件爆发,导致读取文件变慢。换一种方式,将session保存到内存或者数据库,性能会提高。


#查看php是否安装redis扩展
php -m | grep redis
#查看是否安装redis服务
systemctl status redis
#查看php版本(演示系统中php版本为7.2)
php -v

一、centos8系统中php配置session使用redis

1、安装redis

dnf install redis -y
systemctl start redis #启动 
vim /etc/redis.conf
bind 127.0.0.1 #默认只允许本机访问,如果需要开放外网,则注释掉这行
protected-mode yes #保护模式,如果需要开放外网,则改为 no
port 6379 #可修改端口
requirepass password #登录密码,改配置默认是注释的,放开之后在登录时需要使用如下方式登录
redis-cli -p 6379
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth password
OK
127.0.0.1:6379> ping
PONG

2、php安装配置redis扩展

dnf install php-redis -y
# 未安装fpm,编辑apache的php配置
vim /etc/httpd/conf.d/php.conf
# 编辑PHP配置文件
vim /etc/php-fpm.d/www.conf
# 修改以下配置:
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
#重启apache 
systemctl restart httpd
#重启php-fpm 
systemctl restart php-fpm.service

3、常用命令

systemctl stop redis #停止
systemctl status redis #查看 redis 状态

二、ubuntu系统中php配置session使用redis

sudo apt-get update
sudo apt-get install redis-server
sudo apt-get install php-redis -y 
vim /etc/php/7.2/fpm/php.ini
session.save_handler = files
#改为(redis):
session.save_handler = redis
#添加:
session.save_path = "tcp://127.0.0.1:6379"
#重启fpm
systemctl restart php7.2-fpm

三、完成配置后,打开dubug,登录禅道进行测试

#进入禅道安装目录
vim config/my.php
#修改:
$config->debug=true; 
#进入禅道登录后;进入log目录,查看php开头的最新日志文件。登录正常就可以把上面debug改回false
cd tmp/log 

注: 如果配置文件 /etc/redis.conf 里设置了连接密码 requirepass,保存session 的时候会报错,save_path 这样写 tcp://127.0.0.1:6379?auth=authpwd 即可。

柳婷婷 4570