$cfg['Servers'][$i]['auth_type']
cookie修改成config
关于phpMyAdmin "必须启用 Cookies 才能登录" 的解决办法
在使用最新的 phpMyAdmin 时,登录页面一直会提示"必须启用 Cookies 才能登录",这个问题困扰我多时。
通过 google 和 baidu 搜索了N多人的解决办法,好象都不行,问题依然存在。
后来自己摸索着修改了一下,突然好了,比较简单,解决办法如下。
我们通过会直接把 phpMyAdmin 安装目录下的配置文件 config.sample.inc.php 另存为 config.inc.php 直接使用。这是正确的。不过需要注意几点就是:
$cfg['blowfish_secret'] = 'cookie'; 一定要填写,一般填写cookie即可。
另外,如果 mysql 使用 socket 方式连接,不要忘记修改下面这行:
$cfg['Servers'][$i]['connect_type'] = 'socket';
上面这一步一般人都能正确修改,但是只修改根目录下 config.inc.php 这个文件是不行的,还有一个文件需要修改,就是 libraries 目录下的 config.default.php 这个文件。
在 config.default.php 这个文件中,需要修改的地方是:
$cfg['blowfish_secret'] = 'cookie'; 文件中默认为空,这里需要填写和 config.inc.php 一样的值。
如果 mysql 使用 socket 方式连接,还要修改下面这两行:
$cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock'; 这个需要根据自己 mysql 配置内容填写,如果不知道置空即使用默认的mysql设置
$cfg['Servers'][$i]['connect_type'] = 'socket';
重新刷新 phpMyAdmin 登录页面,问题解决!
补充:
首先在IE和firefox分别phpmyadmin进行测试
1.如果都是这种情况:Cookies 必须启用才能登入
则先查看下面这两项是否设置正确
$cfg['blowfish_secret'] = 'cookie'; //有的版本的文件' '里面没有cookie
$cfg['Servers'][$i]['auth_type'] = 'cookie';
2.如果在firefox下正常则在IE下还是登录时还是提示 cookies必须启用才能登录,
则按下面的步骤开启IE的cookie
菜单栏,工具,internet选项,安全,将所有区域设置为默认级别.
首先查询自己所使用的IE版本。
打开IE,点击菜单条上的"帮助"(Help) ,在展开的菜单里,选择最下面一条"关于Internet Explorer"(About Internet Explorer) ,在弹出的窗口中,Internet Explorer图片标题下第一行,就是有关版本信息。一般是,5.0或6.0。
A.
(1)点击菜单条上的"工具"(Tool) 在展开的菜单里,选择最下面一条"Internet选项"(Internet Options) 在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第三个"隐私"(Privacy)。在"隐私"的设置里,中间偏下有三个按钮,点击第二个按钮"高级"(Advanced) 在弹出的cookie设置窗口里,勾选如下设置:
覆盖自动cookie处理 (Override automatic cookie handling)
第一方cookie:接受 (First-party cookies: Accept)
第三方cookie:接受 (Third-party cookies: Accept)
总是允许会话cookie (Always allow session cookies)
点击按钮"确定"(OK),关闭cookie设置窗口
点击按钮"确定"(OK),关闭Internet 选项设置窗口
B.如果您使用的是IE 5.0版本,请按以下几个步骤启用cookie:
点击菜单条上的"工具"(Tool)
在展开的菜单里,选择最下面一条"Internet选项"(Internet Options)
在打开的Internet 选项设置窗口里,顶上有一条标签栏,点击第二个"安全"(Security)。
在"安全"的设置里,中间偏下有两个按钮,点击按钮"自定义级别"(Customized)
在弹出的安全设置窗口里,拉动上下滚动条,找到cookie设置,勾选如下设置:
允许使用存储在您计算机上的cookie:启用
允许使用每个对话cookie(未存储):启用
点击按钮"确定"(OK),关闭安全设置窗口
点击按钮"确定"(OK),关闭Internet 选项设置窗口
工具--internet选项.---删除Cookies -- 确定---确定
刷新phpmyadmin登陆业面看看
如果按照我在上面提到的配置方法做了,应该不会提示这个错误。经过我2个多小时不停的修改config.default.php配置文件,始终提示这个错误,几乎达到了崩溃的边缘了。然后就是灵光一现,突然发现:我把auth_type认证方式改为http,改为config时,打开页面始终出现这个错误,也就是说改变了认证模式,并没有对phpmyadmin起作用,难道是其他的配置文件在影响决定着phpmyadmin?立马来到phpmyadmin根目录,赫然发现根目录下有一个config.sample.inc.php文件存在的同时,还有一个文件 config.inc.php也存在!!而这个是以前老版本的配置文件,原来是这个文件捣的鬼。马上删除config.inc.php,再进入调试页面,错误消失了!问题解决。看来phpmyadmin根目录下的config.inc.php配置文件的优先级比/libraries /config.default.php的配置文件高,系统是先调用根目录里的配置文件,然后才是libraries文件夹里的配置文件