2014-09-22 86 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 

这个命令解决了并帮助了我!