2014-09-22 60 views
0

所以我的問題:我已經從apache切換到nginx,安裝了php-fpm,除了一件事情,一切似乎都沒有問題 - 我無法再通過我的網頁登錄登錄表單。我的意思是 - 當我輸入錯誤憑證時 - 它提取並說「不良細節」。但是當我嘗試以很好的細節登錄時 - 頁面只是刷新而沒有任何符號。 nginx錯誤日誌不會顯示任何特殊的內容,與php-fpm日誌相同。nginx安裝無法登錄到我的網站的用戶界面

這是我的nginx.conf:

worker_processes 6; 

events { 
worker_connections 1000; 
} 

http { 
include  mime.types; 
default_type application/octet-stream; 
types_hash_bucket_size 64; 
server_names_hash_bucket_size 128; 

sendfile  off; 
tcp_nopush  on; 

keepalive_timeout 4; 


server { 
    listen  80; 
    root /usr/share/nginx/html; 
    server_name diamond-ptp.com; 
    index index.php index.html; 
location/{ 
     root /usr/share/nginx/html; 
     index index.php index.html index.htm; 
    } 

    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root html; 
    } 


    location ~ \.php$ { 
     try_files $uri $uri/ $uri/login.php /login.php; 
     fastcgi_pass 127.0.0.1:9000; 
     fastcgi_index index.php; 
     include /etc/nginx/fastcgi_params; 
    } 

} 

還有就是我的phpinfo(); :http://diamond-ptp.com/info.php

這是寫在那裏:_SERVER [「REQUEST_METHOD」] GET,不應該是POST如果我在登錄表單中使用post方法?

所以我不知道這可能是$ _POST相關的東西?因爲整體PHP運作良好。或者也許有一些緩存?任何人都有建議?

+1

你是否確定你的'session'文件夾屬於'nginx'?默認情況下,它通常由apache擁有。你可能需要運行一些東西(通過'sudo'),例如:'chown -R user:nginx/var/lib/php/session',用你的發行版路徑替換路徑,用適當的用戶替換路徑根') – 2014-09-22 19:27:44

+0

你救了我的男人!謝謝!肯定這個問題! – 2014-09-22 19:30:52

+0

太好了,很高興幫忙,把這個問題提到了答案 – 2014-09-22 19:33:17

回答

1

從評論到這裏,請務必檢查您的session文件夾。默認情況下,它通常由apache擁有,使登錄看起來「失敗」。

要解決這個問題,你會想重新擁有自己的會話文件夾,運行這樣(通過sudo,正常):

chown -R user:nginx /var/lib/php/session 

你要替換路徑(/var/lib/php)與你的發行版的會話路徑,用戶(useruser:nginx)用正確的用戶(通常root

0

有關於權限的問題:

chown -R user:nginx /var/lib/php/session 

這個命令解決了並幫助了我!