今天早上打算本地win7機器上用Wampserver搭建PHP環境,把自己的程式配置上去。下載最新的wampserver 3.0.6版本安裝後,發現mysql一直無法運行,以為是wampserver版本問題,隨後又下載了相關2.4,2.5等相關版本安裝,依舊沒有解決,主要現象是mysql命令符中輸入密碼斷行符號之後沒有反應,隨後命令符自動消失,另外就是在PHPMyAdmin中輸入密碼直接出現連線逾時或是提示無法串連的錯誤。後來我直接卸載了wampserver,改用phpStudy搭建環境,安裝後啟動,Apache啟動正常,但mysql啟動提示連接埠被佔用,至此問題的原因總算找到了,mysql無法串連的真正原因是本地3306連接埠被佔用,隨後我滑鼠右鍵點擊右下角裡的phpStudy小表徵圖->phpStudy 設定->連接埠常規設定,把mysql連接埠改為3305,然後儲存重啟,問題完美解決,另外在本地phpStudy裡設定綁定網域名稱和路徑再修改一下host檔案,自己的程式配置成功。
下午修改一PHP程式時把程式放到phpStudy裡,配置好路徑網域名稱及host檔案,修改好資料庫連接檔案,在運行程式的時候出現路徑錯誤,因為程式是從LINUX伺服器上拿下來的,裡邊包含的檔案路徑需要修改正確,include_once語句是在指令碼執行期間包含並運行指定檔案,此行為與include語句類似,唯一區別是如果檔案中已經包含過,則不會再次被包含,如此語句名字暗示的那樣,只會包含一次。include_once 可以用於在指令碼執行期間同一個檔案有可能被包含超過一次的情況下,想確保它只被包含一次以避免函數重定義,變數重新賦值等問題。包含路徑錯誤,便會出現檔案找不到的錯誤,將包含檔案的路徑修改完路徑後再次運行,路徑錯誤消失。試著註冊會員,到寫入資料庫頁面白屏,長時間沒反應,過了一段提示連線逾時,這時想想估計還是串連連接埠的問題,於是修改了一下資料庫連接語句$db = new ezSQL_mysql('root','root','sd','localhost:3305')將連接埠配置上去,再次運行並註冊會員,程式成功運行。
另外本機資料庫允許遠端存取,只需用Navicat串連資料庫再選擇使用者,把使用者的主機改成百分比符號即可。