來源:http://www.ido321.com/1246.html
XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建 XAMPP 軟件站集成軟件包,輕巧,用起來很方便。它提供了強大的phpmyadmin數據庫管理工具,讓使用者對數據庫的使用和管理得心應手。對於不能在本地打開 phpmyadmin的問題,我的解決方案如下:
MySQL有一個默認的專用端口:3306,所以,如果你之前獨立安裝了MySQL,那麼3306端口已經被占用。安裝XAMPP集成的MySQL時,必須重新設置獨立的端口,否則是不能訪問phpmyadmin的,我收到的報錯信息見圖:
修改方法也很方便,打開XAMPP的控制面板,找到mysql右側的config,點擊,會出現my.ini的選擇項,這個就是mysql的配置文件了,如圖:
當然只是修改端口,我還是訪問不了。還要去修改phpmyadmin的配置文件,這裡有兩個途徑:
一、訪問phpmyadmin出錯的解決方案
1、打開xampp目錄(默認的安裝目錄,如果修改,請找到xampp的安裝目錄),打開phpmyadmin的目錄,在該目錄下找到config.inc.php,我的默認配置:
<?php /* * This is needed for cookie based authentication to encrypt password in * cookie */ $cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE SECURE COOKIE AUTH! */ /* * Servers configuration */ $i = 0; /* * First server */ $i++; /* Authentication type and info */ $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'username'; //mysql用戶名 $cfg['Servers'][$i]['password'] = 'password'; //mysql密碼 $cfg['Servers'][$i]['extension'] = 'mysqli'; //擴展配置,若訪問出現沒有配置mysqli等錯誤,加上這個。默認是有的 $cfg['Servers'][$i]['AllowNoPassword'] = true; $cfg['Lang'] = ''; /* Bind to the localhost ipv4 address and tcp */ $cfg['Servers'][$i]['host'] = '127.0.0.1'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; /* User for advanced features */ $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = ''; /* Advanced phpMyAdmin features */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; $cfg['Servers'][$i]['tracking'] = 'pma_tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; $cfg['Servers'][$i]['recent'] = 'pma_recent'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; /* * End of servers configuration */ ?>
然後在$cfg['Lang'] = ”後加入以下代碼:
$cfg['Servers'][$i]['port'] = '3307'
保存,重啟apache,在地址欄輸入localhost/phpmyadmin,就可以直接進入phpmyadmin的管理界面了
這種方式不太安全,沒有驗證,誰都可以進入phpmyadmin管理數據庫了。重新回到配置文件,找到如下代碼:
$cfg['Servers'][$i]['auth_type'] = 'config'
將上述代碼的config改為cookie,或者http,就會出現驗證界面了(cookie和http對應的驗證界面在windows上還不一樣),我把它改成了cookie,出現如圖驗證界面
2、這種方式也是修改phpmyadmin的配置文件,不過路徑不一樣了,在phpmyadmin/libraries找到config.default.php文件,裡面包含了服務器的各種配置參數
$cfg['Servers'][$i]['port'] = '';
找到這一行代碼,我的在132行,這個是配置端口的,值為空則是默認的3306,將其值改為3307後,保存,重啟apache,同樣可以訪問phpmyadmin了
二、phpmyadmin配置文件詳解
打開在phpmyadmin/libraries找到config.default.php文件,常用參數配置如下
$cfg['PmaAbsoluteUri'] = ''; //phpmyadmin的訪問網址 ,默認就行 $cfg['TranslationWarningThreshold'] = 80; //服務器端口 $cfg['Servers'][$i]['host'] = 'localhost';//mysql主機ip,如果mysql和該phpmyadmin在同一服務器,則按默認localhost $cfg['Servers'][$i]['port'] = '3307'; //mysql端口,默認3306,保留為空即可 $cfg['Servers'][$i]['user'] = 'root'; //mysql用戶名 $cfg['Servers'][$i]['password'] = '';//密碼 $cfg['Servers'][$i]['auth_type'] = 'cookie'; //認證方式 /*端口、用戶名、認證方式等也可以再config.inc.php中配置,並且優先級高 *$cfg['Servers'][$i]['auth_type'] = 'config'; 這個是在config.inc.php的 *配置,若不修改這個值,仍然可以直接訪問phpmyadmin */ $cfg['DefaultLang']='zh'; //設置默認語言
對於認證方式$cfg['Servers'][$i]['auth_type'] = ‘cookie'; 的值有四個:cookie,http,HTTP,config
config方式即輸入phpmyadmin的訪問網址即可直接進入,無需輸入用戶名和密碼,是不安全的,不推薦使用。
當該項設置為cookie,http或HTTP時,登錄phpmyadmin需要數據用戶名和密碼進行驗證,,具體如下:
PHP安裝模式為Apache,可以使用http和cookie;
PHP安裝模式為CGI,可以使用cookie .
另外,在cookie模式下,還可以設置$cfg['blowfish_secret'] = ”; (短語密碼) ,至於設置為什麼密碼,由您自己決定,也可以不用理會。(沒測試過,這一點來自文檔說明,我覺得不用理會就行了)
下一篇:怎麼用PHP在HTML中生成PDF文件