LAMP环境迁移至LNMP环境时session丢失或无效问题(解决方案)

引言

这里强调是LAMP环境迁移至LNMP环境,是因为这里的session失效问题是由于从
apache迁移至nginx导致的用户组不对应导致的session无法读写问题,这只是导致
session失效的一种可能原因,还有其他可能比如,php.ini配置问题、session文件
目录读写权限问题、如果用的php框架是thinkphp的话可能也会出现session失效问
题(这个是框架自身的bug,网上有一些可用的修改方案),还有一种是Nginx做代
理的时候也可能会出现session失效问题(可用session共享方案解决)

解决方案

我这里的情况是用户组的问题,就是之前配置LAMP环境,php存储session的文件
夹被分给了apache用户组,导致后来迁移到LNMP环境后,nginx无权访问该文件
夹,解决的方法很容易,就是使用`chown -R nginx:nginx session` ,把
session文件夹的用户组设为nginx就可以,但是找到这个问题的过程是异常艰辛
啊,如果没有经验的话

我这里的session文件夹在:/var/lib/php/session下,cd到此文件加下,ls -l,发现所有的session缓存文件用户组都是apache,则返回上级目录,然后chown -R nginx:nginx session ,把整个session文件夹交给nginx用户,ls -l session如下,即可解决session失效问题

这里写图片描述

然后,记得重启一下nginx和php-fpm

systemctl stop nginx
systemctl start nginx
service php-fpm restart
发布了65 篇原创文章 · 获赞 58 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/AngelLover2017/article/details/82729110