新LNMP环境,但是SESSION跨页面或者刷新 session丢失

唠叨:本地WNMP做了一个项目,一切OK,昨天需要在LINUX架设一套LNMP环境。但是,在架设代码的时候,登录总是不成功~~~

最终解决:权限

其实,作为一个程序猿,只要涉及到服务器内容,都应该非常了解权限的问题。但是,如何正确的配置权限,或者那个位置没有配置到权限,才是比较苦恼的。(所有文件夹,给予所有权限的忽略…………)

下面详细说下我的环境部署:

请注明出处,珍惜我们自己的劳动成功~谢谢。。。http://www.cnblogs.com/Mwsoft/p/4806741.html

1、NGINX 1.4、PHP 5.5、MYSQL5.6都是通过yum安装的

2、通过PHP.ini寻找session的保存路径

1
;session.save_path = "/tmp"

 3、但是发现是被注释的,仔细阅读发现,在上面备注中,有关于PHP-FPM的介绍

1
2
3
4
; RPM note : session directory must be owned by process owner
; for mod_php, see /etc/httpd/conf.d/php.conf
; for php-fpm, see /etc/php-fpm.d/*conf
;session.save_path = "/tmp"

for php-fpm, see /etc/php-fpm.d/*conf , 好吧,虽然我英文不怎么好,但是see(看),我看是懂得。

4、#vi /etc/php-fpm.d/www.conf

1
2
3
4
; Set session path to a directory owned by process user
php_value[session.save_handler] = files
php_value[session.save_path]    = / var /lib/php/session
php_value[soap.wsdl_cache_dir]  = / var /lib/php/wsdlcache

 说明我们的Session存在/var/lib/php/session

5、查看下这个目录吧(我们要看这个目录的权限配置,当然是要看他的父级目录了)

#ll /var/lib/php/

1
2
drwxrwx--- 2 root apache 4096 Sep 14 11:25 session
drwxrwx--- 2 root apache 4096 Sep  4 14:56 wsdlcache

 瞬间找到问题了

APACHE,我们的web服务器用的是NGINX,通过yum安装时,web服务器是给自己分配一个NGINX账号和NGINX组,但是PHP,确实把自己分配到了APACHE组。你让NGINX去运行APACHE组的东西???

6、解决办法:

第一种(懒人专用):#chmod 777 /var/lib/php/session

解释:9个- ,前三个是当前用户,中间3个是组,后3个是其他,

第二种(稍微麻烦一些):让他们属于同一个组,可以创建一个www组,然后把nginx和php,都放进去………………具体参考创建用户命令和创建组命令。。谢谢

猜你喜欢

转载自blog.csdn.net/php_lzr/article/details/77867675