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 = 无法通过登录屏幕,需要建议
在 Ubuntu 16.04 上的 Nginx 中设置 phpmyadmin 和反向代理后无法获取 /phpmyadmin
如何使用 nginx 通过 https 服务 phpmyadmin