iT邦幫忙

5

XAMPP安裝與操作初步

賽門 2018-02-21 23:50:3631325 瀏覽

今天看到一篇發問,PHP XAMPP 網頁異常,發問的邦友也不知是否搞懂XAMPP這個套件的用法,總之,為了不讓人以為iT邦的水準低落,決定花點時間來介紹XAMPP,順便講一下觀落陰的技巧。
/images/emoticon/emoticon39.gif

安裝

首先,我安裝了一台Windows Server 2016虛擬機,然去下載XAMPP安裝套件,下點在Apache Firends網頁如下圖:
https://ithelp.ithome.com.tw/upload/images/20180221/20017649KXqSBX2cHL.png
紅框中就是Windows環境用的XAMPP套件。
對於這個Windwos Server,我沒有啟用IIS,因為XAMPP中有Apach Server,就是個完整的Web Server。
下載完成XAMPP安裝套件後就執行安裝程式,一開始先跳出一個警告視窗:
https://ithelp.ithome.com.tw/upload/images/20180221/20017649JWRhoNBWs9.png
說是因為UAC的原因要避免把XAMPP安裝到C:\Program File(x86)的資料夾中,以免因權限問題造成XAMPP執行上的問題,由是,安裝到C:\XAMPP資料夾會是最佳選擇,稍後在安裝過程中,會預設安裝到C:\XAMPP資料夾中。看完警告訊息,按[OK]繼續。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649iCrXOLh4bK.png
這算是版權所有聲明頁吧,我想....按下[Next]。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649iVlWzofL1v.png
選擇要安裝的套件,我是全選了,會安裝什麼套件,就參看上圖內容吧,不再贅敍。按[Next]繼續安裝。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649jVZgUO4goY.png
要安裝到那個資料夾,接受預設的C:\XAMPP資料夾,然後按[Next],接下來要問你想不想知道更多XAMPP的訊息,我把勾勾拿掉,沒有想知道更多,等安裝好再知道還來得及。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649yuWnidqcc5.png
上圖按下[Next],預告準備好要安裝了:
https://ithelp.ithome.com.tw/upload/images/20180222/20017649LQa3dVxDbp.png
按[Next]開始跑進度條。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649unH4lM2Yxz.png
等進度條跑滿跑好,最後是安裝精靈完成安裝作業,問你要不要順便啟動XAMPP的控制台。
我選擇要在結束安裝時啟動制台。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649W7pbyaqFOg.png
按[Finish]完成安裝並啟動XAMPP控制台。
先問你要用什麼語言,還很體貼的用國旗來給你選。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649MWzIBai76z.png
美語或德語,有人選德語的嗎?不然,保險一點選用英語,然後按[Save],接下來XAMPP控制台就出現了。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649BvBT33WutI.png

啟動XAMPP與測試

如下圖,在XAMPP的控制台中,按下紅框裏的[Start],分別啟動Apache及MySQL。
https://ithelp.ithome.com.tw/upload/images/20180221/200176499tNotQuAxC.png
啟動完成,上圖左邊的Apache及MySQL變成粉綠色底,這樣就是啟動完成了。
如何測試XAMPP環境是否完成安裝可用了,最好的做法是直接用瀏覽器打開網頁來看,由於沒有安裝IIS,XAMPP的Apache會直接啟用80 port。所以,我們用 http://localhost/ 網址來連線XAMPP網站服務。
https://ithelp.ithome.com.tw/upload/images/20180221/2001764963Nyu4XMDT.png
看來一切OK,然後, 還記得那個選擇安裝套件的畫面嗎?回去看看,有沒有看到phpMyAdmin呢?眾所週知,phpMyAdmin是MySQL的管理網站,接下來,用 http://localhost/myphpadmin 來連線MySQL管理網站頁面:
https://ithelp.ithome.com.tw/upload/images/20180221/20017649NxhUzWZtZZ.png
OK的。

觀落陰技術養成

有仔細看的話,我是在開窮嘶發發發大的玩笑啦。
/images/emoticon/emoticon01.gif
接下來,XAMPP的其中一個P代表PHP環境,如果對PHP有些初步認識,都會知道用phpinfo()函數來顯示PHP環境安裝了些套件,以及PHP環境的支援,我們寫個小小的PHP網頁程式,就命名為phpinfo.php檔案,其內容很簡單:

<?php
    phpinfo();
?>

https://ithelp.ithome.com.tw/upload/images/20180221/20017649S96AiyN8IW.png
這個檔案放在C:\XAMPP資料夾內。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649pS5nw48smX.png
我們試著用 http://localhost/xampp/phpinfo.php 來看看能不能叫出phpinfo()函數網頁。
結果,不幸失敗了如下圖:
https://ithelp.ithome.com.tw/upload/images/20180221/2001764997P5cEOscy.png
換了用 http://localhost/phpinfo.php 也是相同的錯誤。怎麼辦呢?
在XAMPP控制台中可以查看LOG。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649LGfbbl2Hwm.png
在Apache的LOG有三個:

  1. Apache Access.log
    https://ithelp.ithome.com.tw/upload/images/20180221/200176497Z4VSa6jJv.png
  2. Apache Error Log
    https://ithelp.ithome.com.tw/upload/images/20180221/20017649XSTjtB3w3k.png
  3. PHP Error Log
    https://ithelp.ithome.com.tw/upload/images/20180221/20017649px2fylMVQz.png
    看過這三個Log,Apache Error Log中有些訊息比較有用
script 'C:/xampp/htdocs/xampp/phpinfo.php' not found or unable to stat

這是說,XAMPP接收的我們輸入的網址 http://localhost/xampp/phpinfo.php 時,會到C:\XAMPP\htdocs\xampp資料夾中去找phpinfo.php檔案,但因為找不到,所以報錯了,那我們把phpinfo.php檔案由C:\XAMPP資料夾搬到C:\XAMPP\htdocs\xampp資料夾去的話是否就OK了呢?說搬就搬。
https://ithelp.ithome.com.tw/upload/images/20180221/20017649Vnu1NFZYnf.png
搬好了,我們再試 http://localhost/xampp/phpinfo.php
https://ithelp.ithome.com.tw/upload/images/20180221/200176497qbaAFS25S.png
這回OK了。PHP環境支援及己安裝套件,是另一個課題,就不在這裏討論了。
談到這裏,我們可以瞭解:
http://localhost/abc.php -> C:\XAMPP\htdocs資料夾下的abc.php網頁
http://localhost/xampp/abc.php -> C:\XAMPP\htdocs\xampp資料夾下的abc.php網頁
為何這樣,可以參考一下Apache的Virtual Directory概念及參考Mapping URLs to Filesystem Locations的說明。

如何讓其他電腦連上XAMPP網站伺服器?

在Server的防火牆裏打開80埠就行了。安裝來測試XAMPP的Windows Server的IP是192.168.11.60,所以用 http://192.168.11.60/ 連線:
https://ithelp.ithome.com.tw/upload/images/20180221/20017649VsQhwqUS8n.png
連線 http://192.168.11.60/xampp/phpinfo.php:
https://ithelp.ithome.com.tw/upload/images/20180221/20017649LvmDiIiMJb.png
連線 http://192.168.11.60/phpmyadmin:
https://ithelp.ithome.com.tw/upload/images/20180221/20017649hfHuilTVfc.png
出現錯誤,如果對MySQL有些認識,應該瞭解為何會出現這個錯誤,簡言之,是因為系統限定MySQL的管理帳戶只能由本機登入,不能由遠端登入。如果一定要能遠端登入myphpadmin,就要修改設定,能夠由遠端登入,這部份,也是可以另外寫篇文章來討論的。Google一下,也有很多相關的討論了。
這篇到這裏,也該告一段落了。
不論何種科技,都是一門說一不二的技術,不容任何chaos在其中,你用chaos的態度去面對,系統給你的也是chaos。

絕對不要得過且過,一步一腳印才是硬道理。


1 則留言

0
海綿寶寶
iT邦超人 1 級 ‧ 2018-02-22 17:55:26

不知道賽大有沒有觀察到一個不一致的地方?
最早 XAMPP 的 M 指的是 MySQL
在上方的眾多截圖都是 MySQL
但在部份截圖寫的卻是 MariaDB
在授權種類滿天飛的 open source 界
出現這個情形似乎有點怪, 是嗎
/images/emoticon/emoticon06.gif

我要留言

立即登入留言