Nginx 上的 phpMyAdmin 无法登录

Posted

技术标签:

【中文标题】Nginx 上的 phpMyAdmin 无法登录【英文标题】:phpMyAdim on Nginx won't log in 【发布时间】:2014-06-11 13:25:58 【问题描述】:

我在 nginx 上运行了 phpMyAdmin。当我尝试登录时,唯一发生的是 url 参数“令牌”刷新/更新。我实际上并没有被重定向到主 phpMyAdmin 页面,也没有收到任何错误。

这是我的服务器块:

server 
    server_name localhost;
    location 
        root /usr/share/phpMyAdmin;
        index.php index index.html index.htm;
    
    location ~ \.php$ 
        root    /usr/share/phpMyAdmin;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    
    access_log /var/log/nginx/phpmyadmin.access.log;
    error_log /var/log/nginx/phpmyadmin.error.log;
    include /etc/nginx/global/common.conf;
 

这是我的 common.conf 文件的链接,http://pastebin.com/13F9bXSR

这是我的 access.log 文件的最后两行:

[25/Apr/2014:10:39:04 -0500] "POST /phpMyAdmin/index.php HTTP/1.1" 302 5 “http://ip.addr.here/phpMyAdmin/index.php?token=86419bd6905a7db027f7e0723d01484f” “Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, 像 壁虎) Chrome/34.0.1847.116 Safari/537.36" "-" 172.16.2.231 - - [2014 年 4 月 25 日:10:39:04 -0500] “获取 /phpMyAdmin/index.php?token=d49df5c1271c93c59d39f9fcda2d042a HTTP/1.1" 200 2931 “http://ip.addr.here/phpMyAdmin/index.php?token=86419bd6905a7db027f7e0723d01484f” “Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, 像 壁虎) Chrome/34.0.1847.116 Safari/537.36" "-"

这是我的 error.log 文件的最后一行:

2014/04/25 12:17:23 [warn] 11865#0: *2 上游响应在读取上游时缓冲到临时文件 /var/cache/nginx/fastcgi_temp/1/00/0000000001,客户端:ip.addr.here,服务器:ip.addr.here,请求:“GET /phpMyAdmin/js/get_scripts.js.php?token=3631986de7e454290267650bd8acecdc&scripts[]=jquery/jquery-1.8.3.min.js&scripts[]= ajax.js&scripts[]=keyhandler.js&scripts[]=jquery/jquery-ui-1.9.2.custom.min.js&scripts[]=jquery/jquery.sprintf.js&scripts[]=jquery/jquery.cookie.js&scripts[]= jquery/jquery.mousewheel.js&scripts[]=jquery/jquery.event.drag-2.2.js&scripts[]=jquery/jquery-ui-timepicker-addon.js&scripts[]=j$

另外,如果我打开我的 phpmyadmin config.inc.php 文件并替换它:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

用这个:

$cfg['Servers'][$i]['auth_type'] = 'http';

我可以登录,但无法执行任何功能。我收到一条错误消息“错误:令牌不匹配”。

【问题讨论】:

您找到解决方案了吗? 【参考方案1】:

尝试在 nginx 配置中:

http 

     ...

     proxy_max_temp_file_size 0;

     proxy_buffer_size 4k;
     proxy_buffers 32 4k;

【讨论】:

以上是关于Nginx 上的 phpMyAdmin 无法登录的主要内容,如果未能解决你的问题,请参考以下文章

phpMyAdmin + nginx + Arch Linux = 无法通过登录屏幕,需要建议

无法使用 root 和无密码登录 phpmyadmin

在 Ubuntu 16.04 上的 Nginx 中设置 phpmyadmin 和反向代理后无法获取 /phpmyadmin

如何使用 nginx 通过 https 服务 phpmyadmin

phpmyadmin 无法在亚马逊 ec2 实例上的 linux ami 中的 nginx Web 服务器上工作

phpmyadmin 上的 laradock 错误 - 无法连接