最詳細原創phpstorm添加xdebug調試功能


轉載請注明出處-https://www.cnblogs.com/TS-Alex/p/11302605.html 

1、安裝環境

php:7.2.21

xdebug版本:2.7.2

phpstorm版本:2019.2

nginx版本:1.12.2

2、安裝過程

1、xdebug擴展的下載

先通過phpinfo()函數查看當前php版本 主要關注的信息如下

確定php的編譯環境,運行系統以及是否是線程安全的 我的環境為

MSVC15 (Visual C++ 2017)x64  非線程安全

查詢要如上信息之后到官網中下載xdebug擴展

我是在windows系統上搭建的web服務所以我下載的是windows版的動態鏈接庫dll

下載地址為 https://xdebug.org/download.php

 

xdebug 分很多版本 有2.8的alpha版和2.8的betab版本 這里我下載的是2.7.2的穩定版 下載哪一個根據開始查到的phpinfo信息進行選擇,我的php是VC15  X64 非線程安全的版本那么就下載下圖所示的這個版本

 

 

2、xdebug擴展的安裝

1、下載后的文件是一個dll文件,將這個文件重命名為php_xdebug.dll

2、將文件放在php的擴展文件夾里面 文件夾路徑是php主目錄-》ext文件夾

3、文件夾放置好后就是給php添加這個擴展,

打開php.ini文件 在擴展編輯的地方增加如下代碼


 

[Xdebug]
zend_extension=E:\LocalServer\php-7.2.21-nts-Win32-VC15-x64\ext\php_xdebug.dll     ;加載擴展的位置
xdebug.profiler_output_dir="E:\php-7.2.21-nts-Win32-VC15-x64\xdebug" 
xdebug.trace_output_dir="E:\LocalServer\php-7.2.21-nts-Win32-VC15-x64\tmp\xdebug"
xdebug.remote_log="E:\LocalServer\php-7.2.21-nts-Win32-VC15-x64\xdebug\log\xdebug.log" ;日志記錄位置
xdebug.remote_port=9001 ;xdebug監聽端口
xdebug.collect_params=on
xdebug.collect_return=0
xdebug.remote_enable=1  ;開啟遠程調試
xdebug.auto_trace=on
xdebug.profiler_enable = Off 
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.remote_autostart=Off
xdebug.remote_handler = "dbgp" ;傳輸協議
xdebug.remote_host=127.0.0.1  
xdebug.idekey = "PHPSTORM"  ;IDE關鍵字


 

配置好后重啟 php_cgi服務重新加載phppe配置文件 

重新輸出phpinfo信息如果看到如下信息既表名xdebug擴展添加成功

 3、phpstorm的配置

 添加成功后打開phpstorm 配置idea

注意這里有一個大坑 如果你的phpstorm版本是比較老的版本但是你的php 和xdebug的版本較新可能會導致調試卡死,是由於xdebug的xml命名空間變更的緣故,這里建議安裝最新版本的phpstorm軟件-我安裝的是2019.2  (我以前用的phpstorm以前是10.0.2只能調試php5.x版本的代碼 php版本換成7.x怎么都不能斷點逐步調試,每次代碼只能段在入口文件的第一行就卡死了最后web服務器返回504)

3.1、Setting配置

File->Setting->Languages & Frameworks

PHP

 

 Debug

 

 

 DBGp proxy

Servers-這個配置的server是我們運行調試時選擇的server

3.2運行配置

點擊菜單欄的 RUN->Web Server Debug Validation

進行如下如所示配置

當setting配置好后並且已經正確開啟了nginx 和 php_cgi 服務后點擊Validate 按鈕會顯示調試環境是否配置成功全部顯示√既表示配置成功 

 

4、進行斷點調試

要調試就需要發送請求

這里我發送請求的方式有兩種 

4.1 POSTMAN 調試

使用POSTMAN 調試接口的時候需要對請求的接口添加如下header

Cookie:XDEBUG_SESSION=PHPSTORM

4.2使用Chrom調試

使用Chrom調試需要借助xdebug helper 插件 這個可以在插件商店下載到,安裝好后進行如下配置

 

 

 

上述配置好后即可對調試的頁面打斷點調試了,在調試前記得開啟監聽點擊這個按鈕

配置下運行的server 並開啟監聽

 

 注:我本機的9000端口被php_cgi占用了所以xdebug的監聽端口我是用的是9001  配置前確定你用的端口沒有被占用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM