php添加xdebug擴充

來源:互聯網
上載者:User

標籤:

到官網 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擴充

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.