[解決問題] XAMPP 無法啟動 Part.3(MS-SQL 導致)

前幾篇「XAMPP Apache 關閉 Skype 依然無法啟動」討論過包含 Skype、VMware 占用Port 導致 XAMPP 的 Apache 無法啟動的問題,至今因為做作業需要又遇到無法啟動的問題了,這次問題在於系統占用 80 Port,並且非 Skype(443) 或 VM 所造成的,經過了一番查詢,包含關閉並排除 IIS 服務依舊無法啟動,到底是由什麼導致呢?

 


調查 Port 占用

首先可以從 XAMPP 內建的 “Netstat”功能中查詢,其實只是把 Windows 內建的 Netstat GUI 化而已,已下也會教大家直接使用 CMD 的方式使用 Netstat 做查詢。

netstat_gui

由上圖可以看到,很明確的顯示 Port 80 由 System 的 PID 4 進程所佔用。

CMD 查詢方法

其實很簡單,首先打開你的 CMD,使用已下指令。

搜尋所有 Port
netstat -nao
透過 find 來增加搜尋條件
netstat -nao |find "0.0.0.0:80"

假設我們已經知道占用的 PID 是 4 了,我們就可以用以下指令來查詢是哪個 Service 占用的。

X 的部分為 PID
tasklist /fi "pid eq X"

cmd_check

查詢完畢之後會如上圖所看到的,就跟 XAMPP 所看到的差不多,聰明的你一定會認為這樣查一點用都沒有,沒錯,我也是這樣想的,以下公布問題發現及解決方案。

發現及解決

經過了很長一段時間上網爬文,才發現系統除了 IIS 會占用 80 Port 之外,還有 MS-SQL 會使用,站長也不知道他需要用到 Port 80 幹嘛,言而總之,這問題的大概就只有會用 MS-SQL 的凱子會經歷到了。

有個名為「ReportServer$SQLEXPRESS」的 Service 佔用了 Port 80,其實站長測試到這邊之前,連 IIS 都給他整個停用了。

close_service

關掉這該死的服務之後,接著試試看啟動 XAMPP 的 Apache 吧。

open_filsh_apache

 

閒聊

其實最近也沒什麼主題可以讓我寫寫文章,為了做資料庫系統的功課不得不用 PHP & Mysql,只好裝個 XAMPP,並且跟之前接計畫所裝的 MS-SQL 打架,導致無法啟動,想說就藉機來打個字、發個文、刷刷存在感,然後站長脫魯嘍wwwwww

MksYi

透過網路分享知識的學習者。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料