2011-04-16 158 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'; 

該關閉你的數據庫服務器之後&再次重新啓動。 現在檢查&你會看到你將登錄而不輸入用戶名&的密碼。