XAMPP 是 AppServ 之外,另一個很流行的安裝版本。與 AppServ 相比,XAMPP 有多種系統(名稱中「X」的由來)的版本,包含了較新版的 PHP,以及支援以 perl 來當作伺服器端語言(所以名稱中有兩個「P」,雖然我們不會介紹到 perl)。關於 XAMPP 的取得,我們可以到它的網頁下載 https://www.apachefriends.org/,在首頁直接點選最新的穩定版本下載,本篇使用 7.3.1 版本為範例。
此視窗是提示如果有防毒軟體正在作用中,可能會影響一些功能,不過一般來說問題不大,直接繼續安裝即可。
此視窗是告訴你如果"使用者帳戶控制"(UAC)正在作用中,也可能有些功能被影響,不過只要以後開啟主控台時使用管理員權限即可。
選擇安裝元件。此處使用預設值(全部安裝),按 Next:
選擇要安裝的路徑。此處使用預設值(C:\xampp),按 Next:
是否要瞭解附帶的其他框架,若不需要請將打勾取消,後面的示範為取消的畫面:
請按 Next,開始安裝:
安裝中,請稍候:
防火牆的相關設定,如果你在這台電腦上,只是裝來自己測試,沒有要公開架站,那麼都不勾選也可以:
安裝完成,畫面上的選項是問你要不要立刻啟動主控台。若暫時不想啟動,可以在稍後到「所有程式」→「XAMPP」→「XAMPP Control Panel」執行(可能必須使用管理員權限打開)。按 Finish:
主控台畫面:
接下來,就可以把 Apache 和 MySQL 啟動,並開始後續的設定與測試。以下這個範例,會利用 PHP 印出「Hello World!!」,各位可以把下列程式碼複製下來,存檔命名為 hello.php ,放在 C:\xampp\htdocs 底下,此時,如果在網址列輸入 http://localhost/hello.php,則可以看見與範例連結一樣的結果:
<html><head></head> <body bgcolor="#ccccff"> <?php echo "Hello World!!" ?> </body></html>
如上所述,XAMPP 預設會將網頁放在 C:\xampp\htdocs 底下,如果需要放在不同的地方,則可以點選主控台的 Config,或者自己打開 C:\xampp\apache\conf\httpd.conf,在最後面加上以下的內容(請留意,因為 XAMPP 附帶的 Apache 版本比較新,所以跟 AppServ 設定稍有差異),並重新啟動 Apache。此時,如果把前述的範例,放到 D:\test 底下時,則在網址列輸入 http://localhost/myTestDir/hello.php,也會看到同樣的結果。
Alias /myTestDir "D:\test" <Directory "D:\test"> Options Indexes MultiViews AllowOverride None Require all granted </Directory>
如果你安裝完畢後已經使用了一段時間,甚至已經設定了資料庫中的一些帳號,而想要更新 XAMPP 的版本時,可以先將 C:\xampp\htdocs 以及 C:\xampp\mysql\data 這兩個資料夾備份,而若在 C:\xampp\apache\conf\httpd.conf 或其他設定檔中有你想要保留的 alias 等相關設定,也可以一併備份。備份完成後,即可移除舊版安裝新版,安裝完成後再把備份的資料回復即可。而若你發現更新後無法透過自建的帳號與資料庫連線,而進入 phpMyAdmin 試圖檢視帳號列表時又發現「#126 - Index for table '.\mysql\db.MYI' is corrupt; try to repair it」錯誤時,可以點開 XAMPP 控制台右邊的 Shell,輸入「mysql -u root」及以下指令:
USE mysql; CHECK TABLE db; REPAIR TABLE db; CHECK TABLE db;
若還是無法連線,且發現點選「使用者帳號」→「編輯權限」→「更改密碼」試圖更改密碼時,出現「#1133 - Can't find any matching row in the user table」錯誤,可以點選「使用者帳號」→「編輯權限」→「資料庫」→「編輯權限」→「執行」,應該就可以重新修改密碼並連線。