到官網 http://www.xdebug.com/download.php 下載
找到對應PHP版本的 Xdebug ,后面帶 TS 的為線程安全,本機環境為 win7 64 + php-5.5.1-Win32-VC11-x64 ,下載的是 Xdebug 2.3.3 PHP 5.5 VC11 TS (64 bit)
安裝:
Win :將下載的dll文件(這里是php_xdebug-2.3.3-5.5-vc11-x86_64.dll)放到 php 安裝目錄的 ext 文件夾下。本機放在 D:\ApacheServer\php\ext\
在ApacheServer下面新建xdebug文件夾,再在xdebug下面新建trace與profiler文件夾,用來存放xdebug生成的兩種信息
編輯php.ini,加入下面幾行
zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
;允許遠程IDE調試
xdebug.remote_enable = true
;遠程主機
xdebug.remote_host = 127.0.0.1
;xdebug.remote_port = 9000 ;默認端口 9000
xdebug.profiler_enable = on
;臨時跟蹤信息輸出
xdebug.trace_output_dir = "D:\ApacheServer\xdebug\trace"
xdebug.profiler_output_dir = "D:\ApacheServer\xdebug\profiler"
;其余參數
;開啟自動跟蹤。自動打開"監測函數調用過程"的功模。該功能可以在你指定的目錄中將函數調用的監測信息以文件的形式輸出
xdebug.auto_trace = On
;開啟異常跟蹤
xdebug.show_exception_trace = On
;開啟遠程調試自動啟動
xdebug.remote_autostart = On
;收集變量
xdebug.collect_vars = On
;收集返回值
xdebug.collect_return = On
;收集參數
xdebug.collect_params = On
;顯示局部變量
xdebug.show_local_vars = On
;顯示默認的錯誤信息
xdebug.default_enable = On
;用於zend studio遠程調試的應用層通信協議
xdebug.remote_handler = dbgp
;如果設得太小,函數中有遞歸調用自身次數太多時會報超過最大嵌套數錯
xdebug.max_nesting_level = 10000
zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll" 與 Zend Debugger 一樣
不同系統及 PHP 版本有不同寫法
Linux 和 Mac OS X : zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
Windows Thread-Safe 版 PHP : zend_extension_ts = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
Windows Non-Thread-Safe 版 PHP : zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
所以同一服務器只能加載一個調試工具,要么 Zend Debugger 要么 Xdebug
但在 PHP5.5 環境下測試, Thread-Safe 版 PHP 后面不能加 _ts 只能寫成 zend_extension =
xdebug.profiler_enable = on 及后面的目錄 "D:\ApacheServer\xdebug" 作用是開啟把執行情況的分析文件寫入到指定目錄中的功能,可自由設置。也可不寫
生成的文件,例如 cachegrind.out.4408 這種格式命名的文件,用編輯器打開可以看到很多程序運行的相關細節信息
重啟Apache
重啟
先寫一個可以導致執行出錯的程序,例如嘗試包含一個不存在的文件。
<?phprequire 'abc.php';?>
然后通過瀏覽器訪問,驚奇地發現,出錯信息變成了彩色的了,並且Xdebug跟蹤代碼的執行
Zend Studio設置
Zend Studio 10.6.2
Apache2.4.4
修改 Zend Studio 設置
Window->Preferences->PHP->PHP Executables->Add
填寫內容如下,Executable path選擇文件后PHP ini file (optional)自動賦值
Name : PHP 5.5.1_CLI
Executable path : D:\ApacheServer\php\php.exe
PHP ini file (optional) : D:\ApacheServer\php\php.ini
SAPI Type : CLI
PHP debugger : XDebug
點擊Finish保存后自動就是默認
(如果只需要CLI調試此步可忽略)點擊PHP Server下拉框Default PHP Web Server右邊的PHP Servers...
選中Name|URL列表中的一條內容,點擊右邊的Edit
在彈出框的Debugger下拉框中選擇XDebug
開始調試
在代碼中在左邊行數欄上雙擊加斷點
Run->Debug Configurations...
雙擊PHP CLI Application
在Name處輸入想要的名稱,在PHP File處右邊點擊Browse,選擇要debug的文件,點擊下面的Apply即可
或者打開要運行的頁面
Run->Debug As->PHP CLI Application
即可以調試模式運行,也可選擇CLI之外其他調試模式
點擊工具欄向下箭頭(Step Into)或按 F5 逐行執行。點擊左邊的綠色向右箭頭(Resume)或按F8一直執行,直到斷點處停下
點擊紅色按鈕(Terminate)結束調試,再點擊臭蟲按鈕重新開始調試