首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

WAMP Server localhost 無法訪問但 127.0.0.1 正常的解決方案

     編輯:程式設計綜合問答

現象

  • 瀏覽器訪問 https://localhost 顯示 IIS 默認頁面或報錯。
  • 訪問 https://127.0.0.1 正常顯示 WAMP/Apache 頁面。
  • 端口 80 被 Apache 的 mod_fcgid 佔用提示。

根因

localhost 域名解析異常,未正確指向 127.0.0.1。Windows 默認 hosts 文件可能被修改、清空或權限受限,導致解析失敗或解析到錯誤 IP(如 ::1 IPv6)。

解決步驟

1. 驗證解析

ping localhost
# 應返回 127.0.0.1
# 若返回 ::1 或其他 IP,說明 hosts 有問題

2. 修復 hosts 文件

  1. 以**管理員身份**打開記事本。
  2. 打開 C:\Windows\System32\drivers\etc\hosts。
  3. 確保包含以下兩行(無 # 註釋):
    127.0.0.1       localhost
    ::1             localhost
  4. 保存,刷新 DNS 緩存:`ipconfig /flushdns`。

3. 解決端口 80 衝突

若 `netstat -ano | findstr :80` 顯示 PID 屬於 `httpd.exe` (Apache) 正常;若屬於 `System` (PID 4) 或 `w3wp.exe` (IIS),需停用 IIS 或修改 Apache 端口。

  • 停用 IIS:控制面板 → 程序和功能 → 啟用或關閉 Windows 功能 → 取消勾選「Internet Information Services」。
  • 修改 Apache 端口:編輯 httpd.conf,將 `Listen 80` 改為 `Listen 8080`,訪問 https://localhost:8080。

4. 檢查 mod_fcgid 配置

若 Apache 啟動報錯 mod_fcgid: can't create shared memory,編輯 httpd.conf 或 extra/httpd-fcgid.conf,添加/調整:

FcgidInitialEnv PHPRC "C:/wamp64/bin/php/php7.4.33"
FcgidMaxRequestLen 1073741824
# 確保 FcgidIPCDir 指向可寫目錄
FcgidIPCDir "C:/wamp64/tmp/fcgid"

5. 重啟服務驗證

net stop wampapache64
net start wampapache64
# 或 WAMP 托盤圖標 → Restart All Services

進階排查

現象可能原因對策
hosts 保存提示「拒絕訪問」權限不足/殺毒軟件攔截管理員運行記事本/暫時關閉實時防護
ping localhost 正常但瀏覽器仍錯瀏覽器代理/緩存/Hosts 解析緩存清除瀏覽器緩存/關閉代理/無痕模式測試
Apache 啟動即退出配置語法錯誤/端口被佔/模塊缺失運行 httpd -t 檢查語法,查看 error.log

總結

localhost 無法訪問 90% 是 **hosts 文件缺失或錯誤**。以管理員身份修復 hosts、刷新 DNS、確保端口 80 無衝突、重啟 Apache,即可恢復正常。建議將 hosts 文件設置為「只讀」防止被第三方軟件篡改。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved