標籤:
到官網 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)結束調試,再點擊臭蟲按鈕重新開始調試
php添加xdebug擴充