2011-04-16 123 views
24

我们想要在phpMyAdmin中自动登录用户。现在我们有一个用PHP编写的web界面。用户可以登录。登录后,他们可以点击打开phpMyAdmin的菜单中的SQL链接。有没有办法自动登录它们?是否可以为phpMyAdmin设置Cookie或让其使用它? 我们不想关闭phpMyAdmin的登录;每个用户都有自己的MySQL用户/传球组合。所以我们需要将用户名/密码设置传递给phpMyAdmin。自动登录phpMyAdmin

+0

许多网络托管服务提供商都这样做,但我认为他们构建自定义身份验证来检查他们的后端登录。不知道是否有任何东西存在(虽然它可能) – 2011-04-16 16:42:20

+0

我认为,由于PHPMyAdmin是开源的,这些站点只是简单地将代码更改为接受来自他们自己站点的POST。但这是一个猜测。 – Mikecito 2011-04-16 16:47:47

回答

22

您可以简单地在名为pma_username的字段中输入用户名,并在pma_password中输入密码。或者,如果您使用的是http验证模式,则可以使用用户名和密码创建链接,如http://user:[email protected]/phpmyadmin/...

+0

关于同一事项,请参阅[本讨论](http://stackoverflow.com/questions/4174317/what-is-crossdomain-xml-file/4174355?noredirect=1#comment16322199_4174355) – JNF 2015-01-21 21:17:22

39

在/ *验证类型* /下的config.inc.php中添加代码。它存在于根文件夹

$cfg['Servers'][$i]['auth_type'] = 'config'; 
$cfg['Servers'][$i]['user'] = 'root'; 
$cfg['Servers'][$i]['password'] = ''; 
17

编辑的config.inc.php

地点:/etc/phpmyadmin/config.inc.php

查找打击代码

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

并用吹码代替该行代码

$cfg['Servers'][$i]['auth_type'] = 'config'; 
$cfg['Servers'][$i]['username'] = 'root'; 
$cfg['Servers'][$i]['password'] = 'your_password'; 

如果您的密码为空或 '' 的取消对打击线

//$cfg['Servers'][$i]['AllowNoPassword'] = TRUE; 

$cfg['Servers'][$i]['AllowNoPassword'] = TRUE; 

然后它会正常工作!

+1

它是'用户'而不是'用户名“。参考:https://docs.phpmyadmin.net/en/latest/config.html#cfg_Servers_user – 2017-11-04 07:26:59

1

有时在您的本地环境中工作时,每次都会懊恼地登录。 为了避免它,你可以做到以下几点:在文件末尾

添加下面几行:

的phpmyadmin \ config.inc.php文件

$cfg['LoginCookieValidity'] = 10000; // Keep long validity :)- 
$cfg['Servers'][$i]['user']   = 'root'; // Your user name 
$cfg['Servers'][$i]['password']  = 'root'; // Your password 
$cfg['Servers'][$i]['auth_type']  = 'config'; 

该关闭你的数据库服务器之后&再次重新启动。 现在检查&你会看到你将登录而不输入用户名&的密码。