XAMPP是一款開源、免費的網路伺服器軟體,經過簡單安裝後,就可以在個人電腦上搭建伺服器環境。本文為大家介紹Windows中安裝XAMPP(Apache+Mysql+PHP)及使用方法及其相關問題的總結。
一、什麼是XAMPP
XAMPP(X-系統,A-Apache,M-Mysql,P-php,P-Phpmyadmin/Perl)這個縮寫名稱說明了XAMPP安裝包所包含的檔案:Apache 網頁伺服器, MySQL資料庫, PHP, Perl, FTP 服務程式(FileZillaFTP)和phpMyAdmin。簡單的說,XAMPP是一款整合了Apache+MYSQL+PHP的伺服器系統開發套件,同時還包含了管理MySQL的工具phpMyAdmin,即可對MySQL進行可視化操作。採用這種緊密的整合,XAMPP
可以運行任何程式:從個人首頁到功能全面的產品網站(雖然這僅僅用於開發目的;出於安全考慮,XAMPP 還不適於用在產品伺服器上)。
二、如何獲得XAMPP
XAMPP 是免費的,可前往XAMPP網站瞭解相關資訊(http://www.apachefriends.org/zh_cn/xampp.html)。目前的最新的版本是1.7.7,分別有適用於
Linux 、Windows、Mac OS X以及 Solaris的 XAMPP 。 在Windows 作業系統下有3種類型的檔案下載:
- EXE程式安裝包:也就是Installer.exe安裝檔案,下載後需要根據安裝嚮導進行安裝,大概80M;
- ZIP 壓縮包:給喜歡綠色軟體的人,XAMPP 的普通 ZIP 壓縮檔,下載完成解壓後就可以使用,大概150M;
- 7zip 壓縮包:給喜歡綠色軟體的人,XAMPP 的普通 7zip 壓縮檔,下載完成解壓後就可以使用,大概70M。
三、Win7下如何安裝XAMPP
注意:
如果windows 系統已經安裝了wamp,就要先卸載Apache、Mysql和php。因為XAMPP裡已經整合了這些。卸載方法在這裡就不介紹了,自己百度Google咯。實際上,如果之前用的Apache不是安裝版,可以不用卸載。但MySQL就要卸載,MySQL的完全卸載有點麻煩,這裡提供一下我參考的卸載方法的連結:http://www.cnblogs.com/85538649/archive/2011/08/03/2126171.html
安裝方法A:針對下載的是EXE安裝包進行的安裝
由於筆者下載的是壓縮的綠色檔案(支援綠色輕便),所以沒進行過,特此給出XAMPP官網的安裝指導網頁以供參考,網址:http://www.apachefriends.org/zh_cn/xampp-windows.html 或者http://www.cnblogs.com/bnuvincent/archive/2010/11/09/1872358.html
安裝方法B:針對下載的是壓縮檔的安裝
如果不用安裝包,則可下載 7-ZIP 壓縮包或 ZIP 壓縮包,並將其解壓至你選擇的檔案夾中。我解壓到D盤下,解壓後的路徑為D:\xampp,如所示(點擊見大圖):
接著開啟 XAMPP 所在的檔案夾,並運行其中的“setup-xampp.bat”。這樣能使設定檔中的路徑資訊得到更新。
按“任意鍵繼續”,安裝成功
四、啟動XAMPP和測試
1、啟動xampp的控制台
雙擊xampp目錄下的:xampp-control.exe ,啟動xampp的控制台,在這個控制台中對Apache和MySQL等進行啟動和停止等控制,:
控制台的設定說明:
我們可以看到xampp 1.7.2的一些基本控制功能,注意不建議把這些功能註冊為服務(開機啟動),每次使用的時候自己就當個軟體運行就可以了,這樣在不 使用XAMPP時更節省資源。也就說說,個人電腦不是長期當作web伺服器來使用的,所以Modules設定Svc前面的勾不用選上,選擇Svc模式XAMPP將被註冊為Windows系統服務,每次系統啟動時都會啟動apache、mysql這些模組。當需要啟動Apache或Mysql時,只需要開啟XAMPP控制台,點旁邊對應的Start就可以了,然後就會
顯示已啟動的running狀態了。如果作為伺服器長期使用,就可以考慮註冊服務。
關於XAMPP中的一些預設配置以及相關設定檔:
1) XAMPP Mysql 的預設帳號密碼是(這也是phpMyAdmin登入所用的帳號和密碼):
User: root Password:(空)
2) XAMPP FileZilla FTP的預設帳號密碼是:
User: newuser Password: wampp
User: anonymous Password: some@mail.net
3) XAMPP Mercury的預設帳號密碼是:
Postmaster: postmaster (postmaster@localhost)
Administrator: Admin (admin@localhost)
TestUser: newuser Password: wampp
4) XAMPP WEBDAV的預設帳號密碼是:
User: wampp Password: xampp
5) XAMPP的中相關服務的設定檔路徑是:
- Apache 配置:\xampp\apache\conf\httpd.conf;
- PHP:\xampp\php\php.ini;
- MySQL:\xampp\mysql\bin\my.ini;
- phpMyAdmin:\xampp\phpMyAdmin\config.inc.php;
- FileZilla FTP 伺服器:\xampp\FileZillaFTP\FileZilla Server.xml;
6) XAMPP的網站根目錄的預設路徑是:\xampp\htdocs;
7) XAMPP MYSQL資料庫儲存資料的預設路徑是什嗎?\xampp\mysql\data;
2、測試XAMPP是否安裝成功
在瀏覽器地址欄裡輸入http://localhost/xampp/,如果第一次登入,會選擇伺服器語言,可以選擇簡體中文,然後進入伺服器配置系統介面,如所示。安裝啟動成功:
五、採用XAMPP中的phpMyAdmin管理MySQL資料庫:
在XAMPP中主要通過phpMyAdmin管理MySQL資料庫,在管理MySQL資料庫之前,首先用EdiPluus(一款輕便而強大的文本查看編輯器)開啟位於XAMPP安裝目錄下的phpMyAdmin檔案夾(如:D:\xampp\phpMyAdmin)中的 config.inc.php 檔案,並做一些改動:
/* Authentication type and info */$cfg['Servers'][$i]['auth_type'] = 'cookie'; //將config改為cookie$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = 'root'; //填寫密碼$cfg['Servers'][$i]['extension'] = 'mysql';$cfg['Servers'][$i]['AllowNoPassword'] = true;
1、在瀏覽器地址輸入http://localhost/xampp/,訪問主介面,並在左側的導覽列中,選擇工具列中的phpMyAdmin選項,:
2、單擊phpMyAdmin選項後,就會開啟phpMyAdmin的歡迎介面,這時就會要求輸入使用者名稱和密碼,這裡可以輸入MySQL的使用者名稱和密碼,選擇語言(簡體中文):
3、單擊“執行”按鈕後,就可以進入建立資料庫的頁面。
4、建立新的資料庫:在MySQL localhost標題下,可以建立一個新的資料庫,在第一個輸入框中輸入資料庫的名稱,第二個下拉框中表示的是字元集,關於字元集的表述可以參考該頁面中的“字元集”選項卡,裡面對每一個字元都有詳細介紹。我選擇的是utf8_genneral_ci,單擊建立,完成資料庫建立。:
5、建立資料庫表:
1)建立資料表:資料庫建立完成後,會提示建立的資料庫中沒有表,建議立即建立資料表。其中:名字輸入框中輸入資料表的名稱,如user;欄位數則表述此表中欄位的個數,在這裡筆者設有3個欄位。:
2)建立表結構:單擊“執行”後,就會進入設定欄位名和欄位類型等表結構的頁面,設定的欄位,填寫完畢後,點擊“儲存”完成表格建立:
3)查看錶結構:見圖;
4)插入資料:表格建立好後,就可以往表格裡插入資料了。單擊“插入”選項卡,進入添加表記錄頁面,如果想一次插入多條資料,可以找到繼續插入,並在下拉框中選擇要添加的記錄數,資料資訊填寫好以後,將記錄的插入位置改為“插入新的一行”,然後單擊最下面的“執行”按鈕,將所有的資訊一起提交,:
5)查看資料:添加完記錄後,點擊“瀏覽”選項卡插卡下資料記錄列表,:
6)刪除資料:選擇需要刪除的資料,然後單擊“刪除”即可。
六、XAMPP的安全控制台
正如前面提到,XAMPP 並不是為生產環境準備的,它只為開發人員服務。為了方便開發人員,XAMPP 被預設配置為所有功能全部開啟。對於開發環境來說,這是非常好的,但對於生產環境,這可能是災難性的。下面是 XAMPP 預設配置的安全問題列表:
1)MySQL 管理員(root)未設定密碼。
2)MySQL 伺服器可以通過網路訪問。
3)PhpMyAdmin 可以通過網路訪問。
4)範例可以通過網路訪問。
5)Mercury 郵件伺服器和 FileZilla FTP 伺服器的使用者是公開的。
所以大家應該在發布一些線上的東西前保證 XAMPP 的安全性。有時候,一個防火牆或一個外部路由器就足夠安全了。首先,您可以試試基於網路的“XAMPP 安全控制台”,控制台修正絕大多數的安全薄弱環節,如MySQL、PhpMyAdmin 的管理員密碼和 XAMPP 的目錄保護可以在這裡設定。對於 Mercury 郵件伺服器和 FileZilla FTP 伺服器,請記得更改配置設定(比如使用者名稱和密碼)。如果您不需要這些服務,那就不要啟動它們——這樣也是安全的。
七、XAMPP常見問題
1、我的網路文檔應該放在哪裡?
所有網路文檔都放在 htdocs 主資料夾中(.\xampp\htdocs)。如果您將 test.html 檔案放在這裡,你可以通過 http://localhost/test.html 來訪問它。php 或 cgi 檔案也同樣放在這裡。其他的 WWW 子檔案夾可以在 htdocs 目錄下建立。例如將 test.html 放在 .\xampp\htdocs\new 路徑下,您就可以在瀏覽器的地址欄中輸入 http://localhost/new/test.html來訪問這個檔案。
更多的檔案特性概述:
- CGI) 可執行:全部;允許的結尾:.cgi => 主程式包
- PHP) 可執行:全部;允許的結尾:.php .php4 .php3 .phtml => 主程式包
- MOD Perl) 可執行:.\xampp\htdocs\modperl;允許的結尾:.pl => Perl 外掛程式
- ASP Perl) 可執行:.\xampp\htdocs\modperlasp;允許的結尾:.asp => Perl 外掛程式
- JSP Java) 可執行:.\xampp\tomcat\webapps\java(和其他);允許的結尾:.jsp =>Tomcat 外掛程式
- Servlets Java) 可執行:.\xampp\tomcat\webapps\java(和其他);允許的結尾:.html(和其他)=> Tomcat 外掛程式
- MOD Python) 可執行:.\xampp\htdocs\python;允許的結尾:.py => Python 外掛程式
- Spyce Python) 可執行:.\xampp\htdocs\python;允許的結尾:.spy => Python 外掛程式
2、我能移動 XAMPP 嗎?
可以,但只限於 ZIP/7-ZIP 壓縮包版的 XAMPP。移動操作之後,您必須運行“setup-xampp”使設定檔得到更新。請不要用這種方法嘗試安裝版的 XAMPP。如果你在使用安裝版的 XAMPP,您可以將其複製(而不是移動)一份,並放到新的路徑下,然後運行“setup-xampp”使設定檔得到更新。試試吧!:)
3、我如何配置預設的開始頁面?
如果您在瀏覽器中訪問類似 http://localhost/xampp/ 的檔案夾,Apache 伺服器會自動返回一個預設的開始頁面。Apache 會自動尋找已存在的類似 index.php 的索引頁。httpd.conf 中的“DirectoryIndex”指令負責這個功能。在這裡您可以定義預設開始頁面的名字和協議。XAMPP 在預設狀態下,“DirectoryIndex”指令的列表如下:
index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.html.varindex.phtml
4、我如何在 PHP5 和 PHP4 之間相互切換?
XAMPP(非精簡版!)包含 PHP5 和 PHP4。請使用“php-switch.bat”($path-to-xampp\xampp\php-switch.bat)來切換版本。注意:在切換版本前請先停止 Apache 伺服器。
5、我在哪裡能更改設定檔?
- Apache 基本配置:.\xampp\apache\conf\httpd.conf
- Apache SSL:.\xampp\apache\conf\ssl.conf
- Apache Perl(僅限外掛程式):.\xampp\apache\conf\perl.conf
- Apache Tomcat(僅限外掛程式):.\xampp\apache\conf\java.conf
- Apache Python(僅限外掛程式):.\xampp\apache\conf\python.conf
- PHP:.\xampp\php\php.ini
- MySQL:.\xampp\mysql\bin\my.ini
- phpMyAdmin:.\xampp\phpMyAdmin\config.inc.php
- FileZilla FTP 伺服器:.\xampp\FileZillaFTP\FileZilla Server.xml
- Mercury 郵件伺服器基本配置:.\xampp\MercuryMail\MERCURY.INI
- Sendmail:.\xampp\sendmail\sendmail.ini
6、這些檔案夾裡都是些什麼東西?
路徑 內容
\xampp\anonymous 匿名 FTP 的範例檔案夾
\xampp\apache Apache 伺服器
\xampp\cgi-bin 可執行檔 CGI 指令碼
\xampp\FileZillaFTP FileZilla FTP 伺服器
\xampp\htdocs http 文檔的主資料夾
\xampp\install 用於 XAMPP 的安裝(請勿刪除!)
\xampp\licenses 同上
\xampp\MercuryMail Mercury 郵件 SMTP POP3 IMAP 伺服器
\xampp\mysql MySQL 伺服器
\xampp\perl Perl
\xampp\php PHP(4 和 5)
\xampp\phpmyadmin phpMyAdmin
\xampp\security 額外的安全配置
\xampp\tmp 臨時檔案夾
\xampp\webalizer Webalizer 網路狀態
\xampp\webdav WebDAV 範例
7、XAMPP 與系統服務
針對所有 NT/2000 使用者,在程式包各自的路徑中您會找到將所有伺服器配置為系統服務的安裝/卸載檔案。
- apache_installservice.bat => 安裝 Apache 為系統服務
- apache_uninstallservice.bat => 卸載 Apache 的系統服務
- mysql_installservice.bat => 安裝 MySQL 為系統服務
- mysql_uninstallservice.bat => 卸載 MySQL 的系統服務
8、MySQL 和 PHP
MySQL 的“root”使用者預設狀態是沒有密碼的,所以在 PHP 中您可以使用mysql_connect("localhost","root","") 來串連 MySQL 伺服器;如果您想為 MySQL 中的“root”使用者佈建密碼,請在控制台中使用“mysqladmin”命令。例如:
\...\xampp\mysql\bin\mysqladmin -u root password secret
請注意,您更改 root 的密碼之後,不要忘記更改 PHPMyAdmin 中的相關資訊。在\...\xampp\phpmyadmin\ 下搜尋“config.inc.php”並編輯下面幾行:
$cfg['Servers'][$i]['user'] = 'root'; // MySQL SuperUser
$cfg['Servers'][$i]['auth_type'] = 'http'; // HTTP MySQL authentification
從今往後,需要正確輸入“root”的密碼才能啟動 PHPMyAdmin
參考資料:
http://www.apachefriends.org/zh_cn/xampp-windows.html
http://www.cnblogs.com/bnuvincent/archive/2010/11/09/1872358.html
http://farlee.info/archives/xampp-windows-download-install-config.html