在 Windows XP SP2 系統上安裝 AppServ(Apache + PHP + MySQL 套件)後,出現以下兩類典型故障:
(10022) 提供了一個無效的參數: setup_inherited_listeners: WSASocket failed to open the inherited socket127.0.0.1 無法訪問。Windows XP SP2 引入了增強的 TCP/IP 堆疊與防火牆機制,導致 Apache 舊版本在 Socket 繼承與連接處理上出現不相容。具體表現為:
WSASocket 繼承監聽 Socket 時參數驗證失敗。Apache Software Foundation 針對 SP2 發布了修補版本:
下載對應版本覆蓋安裝,或手動替換 httpd.exe、libhttpd.dll 等核心檔案。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
# 新增 DWORD 值
TcpTimedWaitDelay = 30 (預設 240 秒)
# 重啟系統生效
縮短 TIME_WAIT 狀態可緩解 Socket 耗盡,但治標不治本。
docker run -d -p 80:80 php:8.2-apache),完全規避宿主機相容性問題。net stop apache / httpd -k stophttpd -k start 或服務管理器啟動。httpd.exe(或 apache.exe)主進程 + 多個工作進程(Prefork/Worker MPM)。https://127.0.0.1 確認正常響應。