前幾日我的win10作業系統突然出現問題,所有軟體都打不開,U盤也識別不了,不得不選擇恢復系統。恢復作業系統之後,避免不了的要重新安裝之前已安裝的各種開發工具軟體。安裝配置後xampp集成工具後,配置本地虛擬域名發現,本地域名不能識別,發現時hosts文件沒有生效。可能的原因以及相應的解決方案如下:
第一種情況,hosts文件後綴名錯了,先排查hosts文件是否有擴展名,因為hosts文件本身是沒有文件擴展名的,如果不小心被加上了如txt等的文件擴展名,就會失效。當然,這麼多年還沒犯這種錯誤。
第二種情況,hosts文件格式不正確,hosts文件中是有一定格式的:即單行一個dns的ip地址映射,可以一個ip對應多個域名,每行的ip和域名之間至少有一個空格或TAB鍵。通常我們直接輸入都是正確的,而當我們複製粘貼進來的文本時,有時會因為換行符的問題不生效。解決方案,通過記事本或者notepad++修改即可。
第三種情況,本地DNS的緩存問題,因為hosts是本地dns解析服務,有一個dns client服務在後臺運行,該服務有一個緩存機制,或許會導致hosts配置不能及時生效。可以嘗試刷新dns緩存或手動重啟dns client服務來解決。刷新命令為:ipconfig /flushdns,手動重啟dns client 服務的方法為:cmd->services.msc->找到dns cilent 服務->停止->重啟。可惜,嘗試了刷新命令,仍然沒有效果,手動重啟dns client失敗。
最後嘗試我刪除了etc目錄下的hosts文件,重新編輯了一個hosts文件粘貼進去了,問題解決。