PHP session 保存方式 file 改为 Redis
原因 Linux (deepin)配置php开发环境
-
因为使用Linux 开发,需要把php-fpm 运行user 改为系统的登入用户(原用户是www),我安装的是oneinstack 的php 一键安装脚步(讲道理,这个脚步更适合安装在生产环境吧)。
修改php-fpm.conf[www] listen = /dev/shm/php-cgi.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 listen.owner = www listen.group = www listen.mode = 0666 user = www (改为 你的用户名) group = www (改为 你的用户组)
-
改完上面的,网站已经可以打开了。但是问题来了,phpMyAdmin 页面无法登入。因为使用了session(cookies)保存登入状态,session 默认保存在file 文件中,/var/lib/php/session/ 大概是这个文件,我也不知道是哪个文件,没找到,不管了。总之是这个文件,当前的用户没有权限咯。
-
一个解决方法就是, 让你修改的用户拥有/var/lib/php/session的读写权限,chown 或者chmod 反正让php-fpm的应用用户有权限访问就可以了
-
另一个方法, 把session 存入redis 找到php.ini ,改一下
#session.save_handler = files session.save_handler = redis session.save_path="tcp://127.0.0.1:6379" session.auto_start=1
-
最后当然要重启下php-fpm
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: