(一)php安裝xdebug擴展,PHPStorm+XDebug單步調試
(二)PHPStorm配置XDebug
(三)PHPStorm使用XDebug調試
(四)PhpStorm+Xdebug配置單步調試PHP
一、原理:
Xdebug是一款php調試插件,支持在Windows或Linux上進行遠程調試。在php文件運行時,通過TCP協議發送調試信息到遠程端口,IDE在收到調試信息時,可以向Xdebug發送單步運行,中止運行,運行等命令。此插件還可以進行代碼覆蓋率的統計,有興趣的小伙伴可以一起交流。
二、需要的環境:
1. 已搭建好的web服務器,本例使用的是Apache+PHP;
2. 一款支持Xdebug遠程調試的IDE,本例使用的是PhpStorm7,IDE下載地址:http://www.jetbrains.com/phpstorm/ ;
3. 一款與你的php對應版本的Xdebug。
三、 服務端配置
1. 下載與PHP對應版本的Xdebug:
方法一:
如果你知道所使用的php版本,即可到官網直接下載對應版本的Xdebug,官網地址:http://Xdebug.org/download.php 。
方法二:
a. 如果你不知道你的PHP版本,請echo phpinfo();
b. 按Ctrl+A復制整個頁面;
c. 訪問 http://Xdebug.org/wizard.php ,將復制的內容粘貼到文本框中,如下圖。
d. 點擊頁面下面的“Analyse my phpinfo() output”按鈕,頁面會自動分析你的php版本,如下圖:
e. 點擊Download后面的鏈接,下載與你機器配置的php相匹配的Xdebug版本。
f. 將下載的dll文件保存到PHP文件路徑中的ext文件夾中。
2. 配置php.ini文件,連接Xdebug。
a. 打開PHP文件目錄下的配置文件php.ini
b. 在文件的末尾添加如下設置:
[Xdebug] zend_extension = "E:\php\ext\php_Xdebug.dll" (值為dll文件的絕對路徑) Xdebug.remote_enable=1 Xdebug.remote_host=127.0.0.1 Xdebug.remote_port=9000 Xdebug.idekey=phpstorm Xdebug.remote_autostart=1
注:第一行是加載Xdebug.romote_enable是開啟遠程調試,下面是遠程調試的參數,ip、端口、識別字符串、自動遠程調試。
c. 保存文件,重啟apache。
d. 在CMD里輸入 E:\php\php.exe -m 看到[Xend Modules]中出現如下字樣Xdebug,說明開啟成功。如下圖
e. 至此,服務器端配置完畢。
注意:Xdebug就加載成功后,訪問網站可能會會慢一些,原因是因為你開啟了自動遠程調試,每一次訪問都會連接一下定義的ip和端口。
四、客戶端配置:
1. 打開phpStorm,點擊進入File>Settings>PHP>Servers。
2. 點擊“+”,填寫服務器端的相關信息,name填127.0.0.1,host填127.0.0.1,port填80,debugger選Xdebug,如下圖:
3. 點擊進入File>Settings>PHP>Debug。
4. 看到右側Xdebug選項卡,Debug port填9000,其他默認
5. 點擊進入File>Settings>PHP>Debug>DBGp Proxy
6. IDE key 填 phpStorm(與php.ini文件中的Xdebug.idekey值相同),host 填127.0.0.1,port 填80
7. 點OK退出設置。
8. 點擊phpStorm界面右上角像電話一樣的按鈕,打開監聽,如下圖:
9. 如果變為綠色,則為開啟監聽成功,如下圖:
五、開始調試
1. 打開php文件
2. 設置斷點,如下圖:
3. 點擊run>debug,或者按Alt+Shift+F9,如下圖:
4. 在彈出的對話框中選則帶有php圖標的php文件,如下圖:
5. 底部會出現調試信息,如下圖:
6. 按F8執行Step Over(單步進入函數),按F7執行Step Into(單步跳過函數),更多操作如下圖:
7. 鼠標移至參數上之后,會出現當前的值,如下圖:
8. 點擊run>stop或者按Ctrl+F2,停止調試。