唠叨:本地WAMP做了一个微信项目,一切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的保存路径
;session.save_path = "/tmp"
3、但是发现是被注释的,仔细阅读发现,在上面备注中,有关于PHP-FPM的介绍
; 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
; 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/
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,都放进去………………具体参考创建用户命令和创建组命令。。谢谢
请注明出处,珍惜我们自己的劳动成功~谢谢。。。http://www.cnblogs.com/Mwsoft/p/4806741.html