背景:
寫了一年多的PHP程式,還是使用的最原始的print_r();exit();和var_dump();exit();進行調試,它最大的問題是在於不能跟蹤代碼流程,對於簡單的像查看基本的變數的值,還能夠解決,如果當你使用類似zend framework等大型架構的時候,如果沒有對流程的深刻理解,
很難寫出高效率的代碼。我們老大常說的,PHP入門簡單,誰都可以寫,不過很難成為高手。我覺得成為高手的很重要的一個環節,就是對
代碼的調試,和對整個流程的理解。今天正好以為同事是高手,一起整理了下這個工具,今天我想詳細的談談,如何使用zend studio和zend Firefox的Toolbar外掛程式進行代碼流程的跟蹤和調試:
系統配置說明:
window 7,記憶體2G,處理器主頻:2.5GHZ,zend studio 8.0,Firefox 3.6
安裝流程:
先從http://www.zend.com/en/products/studio/downloads
下載zend studio 8.0,然後搜尋個序號。
| Zend Studio 8 |
8.0.0 |
(Windows MSI) 350.53 MB |
接著下載(Firefox Toolbar) 0.21 MB,這是個FF外掛程式,直接拖放到FF 3.6以下的版本中就可以了。
| Zend Server (PHP 5.3) |
5.1.0 |
(EXE) 65.28 MB |
安裝Zend Server的時候,只要保證其他的服務沒有佔用80連接埠即可。如果你使用了類似APMServ這樣的整合工具,可以先停止apache服務,安裝好Zend Server,預設是開啟了Apache服務。目前的版本是Apache2.2-Zend
上面的如果都安裝成功,這樣就可以進行跟蹤和調試了。不過要說明的時候,最方便的是把網站的根目錄安裝在本地,比如你的zend server預設安裝到E:/Program Files/Zend/ZendServer,那麼預設apache的安裝目錄為:E:/Program Files/Zend/Apache2/,你在conf下面找到httpd.conf,然後添加虛擬機器主機,例如:
#APMServ預設虛擬機器主機
NameVirtualHost *:880
<VirtualHost *:880>
ServerName www.example.com
DocumentRoot "H:/APMServ5.2.6/www/htdocs"
<Directory "H:/APMServ5.2.6/www/htdocs">
Options FollowSymLinks IncludesNOEXEC Indexes
DirectoryIndex index.html index.htm default.htm index.php default.php index.cgi default.cgi index.pl default.pl index.shtml
AllowOverride None #如果設定為None,則忽略所有的.htaccess檔案
Order Deny,Allow #Order指令控制預設的訪問狀態與Allow和Deny指令生效的順序,預設是允許所有的訪問
Allow from all
</Directory>
</VirtualHost>
然後在你的系統目錄,比如C:/windows/system32/drivers/etc/hosts,開啟後添加一行:
127.0.0.1www.example.com,
然後重啟apache伺服器,這個時候,你在FF中輸入www.example.com,就可以看到你的本地的根目錄檔案了。
這個時候,你點擊FF工具列中Toolbar上面的Debug按鈕,這個時候,它會提示是不是以後不需要提示,你直接勾選確定即可。
然後你就可以看到Zend studio中的調試狀態了。然後你點擊F5,或者F6,可以一步步的進行調試,右側可以看到每個變數的值,
非常方便。
希望對PHP新手的調試有協助!