本方法用来解决php获取不到session变量,其实也不是什么大问题,就是想不到。
我的导航安装上之后登录页面登录之后还是在登录页面,于是看代码,说实话不是很喜欢看php代码的,但是没办法,调试了一下,发现每次获取到的session变量是设置了的,但是每次获取依旧是空的。对php也不是很懂,于是百度了一下,还是让我找到了答案,问题就是用户权限的问题。
我们的php当前用户没有访问session的权限,所以每次获取到的内容都是空的,大家可以看到php运行的用户是nginx用户,但是session文件是root的,用户组是apache,所以我们的nginx根本就没有访问权限。我们要做的就是修改这个文件夹的所属用户
/etc/php-fpm.d/www.conf所属用户和组用户,如下
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
那么,后台登录无法获取到session是跟所属组和所属用户有关吗?检查服务器上存储session的文件属性,如下图,
修改session文件夹的属性
命令 chown –R nginx:nginx session
重启php-fpm service php-fpm restart
重启nginx service nginx restart
原贴地址:
Post Views:
2,835