昨天遇到的一個問題,安裝XAMPP后無法啟動Apache服務(wù),本以為可能是一些系統(tǒng)服務(wù)文件被占用的原因,安裝軟件后需重啟一遍。可是重啟計算機(jī)后依然無法啟動Apache服務(wù),狀態(tài)欄里總是顯示“Apache started [Port 80]”,是端口被占用的原因嗎?排查一遍后也不是。后來只好求助于搜索引擎,在變換關(guān)鍵詞搜索幾次后終于找到問題所在。
XAMPP簡易安裝使用介紹可參見這篇文章:XAMPP 安裝及本地搭建站點(diǎn)方法。
XAMPP Apache 無法啟動原因1(缺少VC運(yùn)行庫):
這個就是我遇到的問題原因,下載安裝的XAMPP版本是xampp-win32-1.7.7-VC9,而現(xiàn)有的Windows XP系統(tǒng)又沒有安裝VC9運(yùn)行庫,所以無法繼續(xù)運(yùn)行相關(guān)服務(wù),這個可以在Windows事件查看器里看到錯誤日志提示。
既然找到問題原因,解決就很容易了,到微軟下載中心搜索下載安裝一個Microsoft Visual C++ 2008 Redistributable安裝包即可。
XAMPP Apache 無法啟動原因2(80端口被占用):
這是無法啟動Apache服務(wù)的最常見原因了,像迅雷等P2P軟件都會占用80端口,一般關(guān)閉這些軟件后就可以啟動了,如果你有需要也可以先啟動XAMPP后再開這些軟件。
如果無法確定是哪個程序占用了80端口,可以按下面方法找出:
1、打開“開始菜單”——點(diǎn)擊“運(yùn)行”——輸入“CMD”打開命令行窗口,在里面輸入“netstat -ano”命令并回車(不包含雙引號,為防止輸入錯誤,你可以直接復(fù)制用鼠標(biāo)右鍵粘貼)。
2、運(yùn)行命令后,會顯示一系列端口的使用情況,查找到“0.0.0.0: 80”對應(yīng)的PID進(jìn)程標(biāo)識符,記錄下來,等下會用到。
3、鼠標(biāo)右鍵點(diǎn)擊桌面任務(wù)欄,打開Windows任務(wù)管理器,在“查看”——“選擇列”中勾選“PID(進(jìn)程標(biāo)識符)”確定,即可看到每個程序使用的端口狀態(tài)。結(jié)合上面所查到的80端口對應(yīng)的PID進(jìn)程標(biāo)識符,就可確定是哪個程序占用了80端口。要關(guān)閉該程序建議先從該軟件界面中關(guān)閉,如果找不到軟件界面關(guān)閉,可鼠標(biāo)右鍵直接結(jié)束該進(jìn)程。
如果不想這么麻煩,也可以修改XAMPP不使用80端口使用其它,修改方法:打開XAMPP安裝目錄,修改\apache\conf\httpd.conf文件,找到下面這兩句,將端口修改為8081或其它即可。
Listen 80
ServerName localhost:80
XAMPP Apache 無法啟動原因3(443端口被占用):
這個情況比較少見,會占用443端口的程序并不多。XAMPP啟動除需要80端口外,還有一個加載SSL模塊的443端口。如果你遇到443端口被占用的情況,有三種方法可以解決,分別是:
1、排查端口占用程序,關(guān)閉后再啟動XAMPP(排查方法見上面)。
2、修改XAMPP SSL模塊使用端口號,修改方法:打開XAMPP安裝目錄,修改\apache\conf\extra\httpd-ssl.conf文件,找到Listen 443這么一句,將443端口改成4433或其它。
3、如果你不使用Apache的https,也可以關(guān)閉掉SSL模塊,方法如下:打開XAMPP安裝目錄,修改\apache\conf\httpd.conf文件,找到Include "conf/extra/httpd-ssl.conf"這句,將其注釋掉即可。
XAMPP Apache 無法啟動原因4(關(guān)閉mod_perl模塊):
如果Apache服務(wù)啟動后又馬上自動關(guān)閉,那么你可以試著運(yùn)行XAMPP安裝目錄下的xampp_start.exe程序文件,將mod_perl模塊關(guān)閉掉。
XAMPP MYSQL無法啟動的解決辦法
解決方法:
運(yùn)行xampp\mysql目錄下的mysql_installservice.bat,彈出dos窗口后按任意鍵關(guān)閉。
然后再運(yùn)行此目錄下的mysql_uninstallservice.bat即可。
現(xiàn)在XAMPP的控制版面就可以成功啟動MySql了。
之前要確保XAMPP能正常工作,端口80和443、3306必須空閑。
沒空閑的話可以用端口監(jiān)聽工具查,然后結(jié)束相應(yīng)進(jìn)程。
或者在cmd輸入netstat
若占用,記住PID,然后在任務(wù)管理器里對于相應(yīng)的PID,結(jié)束即可。
沒PID顯示的話點(diǎn)擊任務(wù)管理器的查看,然后點(diǎn)選擇列,勾選PID即可。
(責(zé)任編輯:飛鹿優(yōu)化)聯(lián)系客服