嘮叨:本地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
