新LNMP環境,但是SESSION跨頁面或者刷新 session丟失


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM