2014-07-13 16:04:47
来 源
中存储网
phpmyadmin
$cfg['Servers'][$i]['auth_type']   ='cookie';  // Authentication method (config,http or cookie based)? cookie修改成config关于phpMyAdmin

$cfg['Servers'][$i]['auth_type']     = 'cookie';    // Authentication method (config, http or cookie based)?  

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.       如果您使用的是IE 6.0版本,请按以下几个步骤启用cookie:

(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文件夹里的配置文件

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。