1. 程式人生 > >PHP+wampServer+phpStorm + xdebug 單步除錯

PHP+wampServer+phpStorm + xdebug 單步除錯

在這裡我們使用的是postman模擬post請求方式,使用phpStorm編輯器,使用wampserver作為開發環境,進而來使用xdebug進行單步除錯的。

首先wampserver在低版本的時候是沒有xdebug這個擴充套件的,但是到了高版本(php 5.6.*)以後就集成了該擴充套件,我們只需要開啟就行了。

如果沒有php_xdebug-2.4.0rc2-5.6-vc11-x86_64.dll(xdebug擴充套件包),那麼就要去網上下載對應php版本的擴充套件包了,然後放到/bin/php/php5.6.16/zend_ext/ 目錄下,接下來我們就要去php.ini這個配置檔案中去開啟我們的xdebug擴充套件。

修改PHP配置檔案 php.ini

; XDEBUG Extension
[xdebug]
zend_extension ="F:/wamp64/bin/php/php5.6.16/zend_ext/php_xdebug-2.4.0rc2-5.6-vc11-x86_64.dll"

;允許遠端IDE除錯
xdebug.remote_enable = On

;遠端IDE所在HOST和PORT
xdebug.remote_handler = dbgp
xdebug.remote_host= localhost
xdebug.remote_port = 9002

;可以是任意Key,這裡設定為PHPSTORM
xdebug.idekey = PHPSTORM

;開啟遠端除錯自動啟動
xdebug.remote_autostart = Off
;開啟自動跟蹤 ;xdebug.auto_trace = On ;xdebug.trace_output_dir="C:\webserver\xdebug" ;把執行情況的分析檔案寫入到指定目錄中 ;xdebug.profiler_enable=on ;xdebug.profiler_output_dir="C:\webserver\xdebug"

xdebug.idekey=”PHPSTORM” 則是指向了你的PHPSTORM IDE 這樣你的PHPSTORM就可以捕獲到這個斷點事件了.
(配置你的PHPSTORM)
開啟PHPStorm ,File->settings->Languages & Framework -> PHP , 就可以開啟設定介面 找到PHP一欄 讓你的IDE 和你的PHP繫結起來.

繫結IDE和PHP

繫結IDE和PHP

接下來我們需要讓PHPStorm開啟Xdebug監聽,
File->settings->Languages & Framework -> PHP ->Debug 將 Debug port: 設定為9002(預設設定為9000), 如果你的9000埠被佔用 你也可以改為9001,9002等 當然如果你改了埠 需要在php.ini里加一行xdebug.remote_port = 9002 這樣才能對應上Xdebug的監聽埠.

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

注意:在這裡的 127.0.0.1這個埠的配置是自動生成的,如果沒有自動生成,那麼則可以手動的把該檔案進行配置下。

這裡寫圖片描述

通過上面的這幾個步驟,我們就初步的把xdebug擴充套件成功開啟了,並且把phpStorm也配置成功了,那麼我們接下來要做的操作就是在程式裡面打好斷點,並且通過谷歌帶的除錯工具postman來模擬一個post請求,來觸發斷點的執行,從而進一步執行單步除錯的動作。

這裡寫圖片描述

開啟POSTMAN(谷歌瀏覽器的一個擴充套件工具可以用來模擬POST,GET等請求)
注意!
在你所請求的API引數中加入一個 XDEBUG_SESSION_START = PHPSTORM 這是為了告知 你的請求需要觸發斷點除錯.

這裡寫圖片描述

成功觸發斷點除錯後進入的介面效果如下所示:

這裡寫圖片描述

進行監聽9000埠:(如果誰觸發了該埠,那麼就進入斷點程式)