xampp在windows環境下的配置問題

來源:互聯網
上載者:User

    以前開發PHP一直用AppServ,後來發現還有比AppServ更好的整合開發工具-Xampp:apache+mysql + php+perl整合,

    xampp(apache+mysql+php+perl)是一個功能強大的php網站開發整合軟體包。應用xampp可以輕鬆地在各種系統下搭建php等程式的運行環境。

    下載網址:http://www.apachefriends.org/zh_tw/xampp.html

    網上提供了各種平台的開發包,並且有詳細的安裝說明。

 

    不過比較慘的是,遵循說明裝好後,出現了大問題,apache伺服器無法啟動。花了我整一天的時間又是google,又是baidu,千方尋藥。

最後竟然是xampp容器內部php與perl相互衝突。

    查了一天的,也算有些收穫,下面我將apache伺服器無法啟動的原因跟大家分享一下,以免以後諸如此類的問題浪費大家的時間:

 

 

1。連接埠衝突

Xampp中Apache無法啟動的解決方案簡單的就是修改80和443連接埠。在啟動XAMPP時,如果報80/443連接埠被占,可以修改此軟體的連接埠

開啟xampp/apache/conf/httpd.conf檔案把80修改為8081;開啟xampp/apache/conf/extra/httpd-ssl.conf檔案把443修改為4433或者關閉SSL擴充(反正是調試而已)

 

2.網路設定問題

現將整理後的解決方案公布如下:
在案頭右鍵網路位置–>點擊“屬性”–>開啟“網路連接”視窗–>在“本地串連”按右鍵“屬性”–>開啟“本地串連屬性”對話方塊–>在“常規”選項卡下的“此串連使用下列項目(o):”內雙擊“Internet協議(TCP/IP)”–>開啟 “Internet協議(TCP/IP)屬性”對話方塊–>點擊右下腳的“進階(V)…”按鈕–>開啟“進階TCP/IP設定”對話方塊 –>單擊“WINS”選項卡–>選中“禁用TCP/IP上的NetBIOS(s)”。–>一直點擊“確定”按鈕即可。
另外:要注意了,咱們上網用的Dr.COM 用戶端是跟Apache有些衝突的(具體我也不知道)。如果你在啟動了Dr.COM用戶端的情況下啟動Apache這時還會出現上述錯誤。一定要關掉 Dr.COM用戶端。這時應該就可以正常啟動Apache伺服器了。

如果每次手動啟動apache 時總是提示:本機電腦上的Apache服務啟動後又停止了,一些服務自動停止,如果他們沒什麼可做的例如”日誌和警報”服務 。

解決方案如下:
在網路連接屬性裡選
tcp/ip屬性–> 進階–>wins標籤—>下面有啟用LMHOSTS查詢,及netbios的選項
改為禁用,工作管理員裡立刻就可以看到apache進程cpu迅速下降(不再嘗試開子進程)

經測試暫時還沒有問題

觀察中

似乎問題和上面的沒有關係

可能還和tcpip.sys這個檔案有關係

特別是xp sp2系統

除了上面兩個外

極端方法是關掉apache的日誌

怎麼樣關閉apache2的記錄檔(logfile)?這是個問題,因為寫日誌會給系統帶來很大的損耗。關閉日誌以後,甚至最高可以提高整體效能近40%(粗數量級估計)那麼如何關閉日誌呢?

可以通過降低log層級的辦法來減少日誌讀寫。

這裡要提醒的是,這麼做將給“入侵檢測”以及其他基於日誌分析的工作帶來麻煩。所以請謹慎使用。

LogLevel用於調整記於錯誤記錄檔中的資訊的詳細程度。(參閱ErrorLog指令)。可以選擇下列層級,依照重要性降序排列:

Level  Description  Example
emerg  緊急 – 系統無法使用。 “Child cannot open lock file. Exiting”
alert  必須立即採取措施。 “getpwuid: couldn’t determine user name from uid”
crit  致命情況。 “socket: Failed to get a socket, exiting child”
error  錯誤情況。 “Premature end of script headers”
warn  警告情況。 “child process 1234 did not exit, sending another SIGHUP”

 

notice  一般重要情況。 “httpd: caught SIGBUS, attempting to dump core in …”
info  普通訊息。 “Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)…”
debug  出錯層級資訊 “Opening config file …”

通常情況建議使用 crit  到 warn 之間的設定

 

(三)
上面的方法雖然解決了Apache的問題,可是這樣會出現偶爾上不了網的現象。經過多天的資料搜尋,終於找到了一個較為完美的解決方案了,方法如下:
網路位置->;查看網路連接->本地串連(你正在使用的那個串連,一般是這個名字)->;右鍵點它選”屬性”->;選中”internet協議(TCP/IP)
->; 屬性->;進階->;切換到”wins”標籤->點擊”匯入LMhosts(M)” 然後選擇你安裝 apache目錄下的bin檔案夾(我安裝的目錄是D://AppServ//Apache2.2//bin) 匯入httpd.exe後就可以開啟Apache 也可以上網了

 

3.
遇到系統升級到Winxp[sp2]可能會遇到Apache無法正常啟動:
error.log日誌類似這樣描述:

[crit] (OS 10022)提供了一個無效的參數。
解決辦法:
1.網路位置->本地串連->屬性->internet協議(TCP/IP)->屬性->進階->wins標籤->去掉啟用LMhosts查詢前的勾.

2.控制面版->windows防火牆->進階標籤->本地串連設定->服務的標籤裡勾選安全Web伺服器(HTTPS)即可.

(這上下兩項完成後仍然有問題,選中:啟用 TCI/IP 上的 NetBOIS.

這是網上的辦法,我試過後問題依舊,繼續找。下面的操作就可以了。

3.在運行裡輸入:netsh winsock reset

原因:有人提到是winsock的問題,用hijackthis.exe 搜尋了下,發現了:

於是找了WinsockxpFix.exe嘗試修複winsock,
重啟後? apache就可以啟動了

後來發現,機子不重啟也可以的,只要修複一下網路連接就可以了

其實Windows本身就帶有修複工具的 汗一個

只要直接在運行裡輸入:

netsh winsock reset

連提示重啟都不用, 很好很強大!

 

4.xampp容器內部衝突

 

開啟xampp control panel,點擊setup,選中disable mod_perl即可解決衝突問題。google了老半天,這個方法還是在一個英文網站上找到的,正好解決了我的問題。

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.