本人是作了半年左右的PHP程序員,以前是用win7系統寫代碼的。直到最近新換了win8系統,結果在裝wamp的時候,遇到了不少人常常遇到的兩大問題。在搜了好久以後,發現自認爲最正確的解決辦法。php
在這裏貼出來,爲的是之後能夠有參考。mysql
首先是第一個問題,本地訪問wamp,不能用localhost,但能夠用127.0.0.1進行訪問,程序員
首先明確localhost和127.0.0.1的區別。localhost是本地域名,127.0.0.1是本機IP地址。用localhost去訪問wamp,其實是localhost先指向127.0.0.1,而後127.0.0.1來訪問。出現上述狀況,說明localhost不能解析IP地址127.0.0.1 。ping一下localhost,步驟:在運行中輸入 cmd ,彈出一個窗口,再輸入 ping localhost,返回以下:
sql
而後查看host文件。host文件目錄 C://->windows->system32->drivers->etc->hosts ,而後用記事本打開,以下:
數據庫
問題緣由就是本機同時支持ipv4和ipv6 (ipv,即Internet Protocol version),由於Apache服務默認監聽本機的全部地址,而安裝ipV6,ping localhost 顯示的不是127.0.0.1 而是別的。其中一個方法就是卸載ipv6,即刪掉圈起來的代碼 # 127.0.0.1 localhost 。但將來的發展趨勢確定是ipv6,因此這個方法不是很好。還有一個方法就是,讓apache只監聽ipv4,這樣只須要修改apache的配置文件便可。
找到wamp的安裝目錄,打開wamp-> bin->apache->apache2.2.22->conf->httpd.conf ,將第46行代碼改成 Listen 0.0.0.0:80 如圖:
apache
而後再重啓apache,這個問題就完美解決了。windows
接下來是第二個大的問題。wamp是能訪問了,但mysql服務器呢?在瀏覽器的地址欄輸入localhost/phpmyadmin或127.0.0.1/phpmyadmin,結果以下:
瀏覽器
這時打開本地mysql。這時再右鍵點擊wamp -> mysql -> mysql console
而後就會彈出一個窗口,提示你輸入密碼。wamp的安裝過程當中,mysql數據庫是沒有設置密碼的,因此這裏直接回車。而後窗口會閃一下就關閉了。其中有一串錯誤代碼,錯誤提示是 2003 。這個不容易看見,但仔細看仍是能看見的, 下面是一個截圖:
服務器
出現2003 的錯誤代碼,緣由是mysql沒有啓動。這時也能夠去驗證一下。在菜單欄,點擊鼠標左鍵,進入任務管理器 -> 服務,找到wampmysqld,你會發現它的狀態是中止,而後手動啓動,過了幾秒,它又中止了。 說明mysql服務器配置時發生錯誤。固然,在以前在瀏覽器中輸入localhost/phpmyadmin時就已經知道了mysql配置發生錯誤。上面的一系列步驟彷佛畫蛇添足。不過本人認爲,多學點東西,老是有好處的。說不定下一次就能用到這些方法。
繼續,再也不廢話。如今就來找處mysql配置時,究竟是什麼地方出了錯。找錯誤的最好方法就是查看程序運行的日誌。先右鍵 wamp –> mysql -> mysqllog ,這個文件就是mysql的日誌。打開就會發現好多error。爲了看的更清晰,而後記住如今的時間,重啓wamp – > start all services 。這時再打開mysql log,從上次的時間戳開始看:
spa
其中有一句是 Error: unable to create temporary file; errno: 2 這說明是mysql缺乏一個臨時文件目錄。固然,遇到日誌中的錯誤提示,不必定能看得懂。不過不要緊,複製一下,而後百度谷歌便可。到了如今,錯誤緣由就水落石出了。
這時須要作的就是給mysql配置一個臨時目錄。直接在 my.ini 中加一行代碼tmpdir="D:/wamp/tmp"(這裏的目錄能夠隨意填)。
而後保存,退出,重啓wamp。
在瀏覽器地址欄輸入localhost/phpmyadmin 進入mysql服務器驗證一下: