官术网_书友最值得收藏!

1.7 Xdebug斷點(diǎn)調(diào)試

1.7 Xdebug斷點(diǎn)調(diào)試

調(diào)試是軟件開發(fā)過程中一定會經(jīng)歷的過程,在PHP開發(fā)過程中雖然可以借助echo、print_r()、var_dump()、printf()等函數(shù)輸出要監(jiān)視的變量的值,進(jìn)而進(jìn)行程序調(diào)試,但是如果想更便利、高效地進(jìn)行斷點(diǎn)調(diào)試則需要借助第三方插件Xdebug來實(shí)現(xiàn)。Xdebug是一個(gè)開放源代碼的PHP程序調(diào)試器,可以用來跟蹤、調(diào)試和分析PHP程序的運(yùn)行狀況。本節(jié)以1.4節(jié)中使用phpStudy搭建的PHP運(yùn)行環(huán)境為例來安裝配置Xdebug。

1. 獲取Xdebug

Xdebug和當(dāng)前使用的PHP環(huán)境版本有密切關(guān)系,在下載時(shí)需要選擇與之對應(yīng)的版本。在選擇版本時(shí)可以借助Xdebug官方提供的一個(gè)檢測工具來快捷地選擇合適的版本。

1)檢測PHP環(huán)境信息。在本地站點(diǎn)中新建一個(gè)phpInfo.php文件,在該文件中輸入以下代碼:

2)分析版本信息。運(yùn)行phpInfo.php文件,結(jié)果如圖1-31所示。按〈Ctrl+A〉和〈Ctrl+C〉組合鍵全選并復(fù)制該頁面中的所有信息。在瀏覽器中訪問“https://xdebug.org/wizard”,將之前復(fù)制的信息粘貼到圖1-32所示的文本框中,然后單擊“Analyse my phpinfo() output”按鈕。

圖1-31 PHP環(huán)境檢測

Xdebug官網(wǎng)會自動(dòng)分析提交的PHP環(huán)境信息并給出下載鏈接,按照給出的提示信息進(jìn)行下載即可。

2. 安裝Xdebug

1)將下載的文件移動(dòng)到C:\phpstudy_pro\Extensions\php\php7.3.4nts\ext。

圖1-32 分析phpinfo()信息

2)編輯C:\phpstudy_pro\Extensions\php\php7.3.4nts\php.ini并添加行zend_extension= C:\phpstudy_pro\Extensions\php\php7.3.4nts\ext\php_xdebug-2.7.2-7.3-vc15-nts.dll。

3)重新啟動(dòng)Apache服務(wù)。

3. 檢查是否安裝成功

重新運(yùn)行phpinfo.php文件,如果返回的信息中包含如圖1-33所示的xdebug相關(guān)信息則說明安裝成功。

圖1-33 phpinfo.php環(huán)境檢測結(jié)果

4. 在PhpStorm中使用Xdebug

1)修改配置信息。編輯C:\phpstudy_pro\Extensions\php\php7.3.4nts\php.ini文件,增加如下調(diào)試配置信息并重啟Apache服務(wù)(路徑信息根據(jù)實(shí)際情況做調(diào)整)。

2)設(shè)置Xdebug端口。選擇“File”→ “Settings”命令,打開“Settings”對話框,選擇“Languages & Frameworks”→ “PHP”→ “Debug”選項(xiàng),在如圖1-34所示的對話框中將端口號修改為9100(和xdebug. remote port = 9100保持一致),然后單擊“Apply”按鈕。

圖1-34 修改端口

3)配置DBGp Proxy。在“Setting”對話框中,選擇“PHP”→“Debug”→“DBGp Proxy”選項(xiàng),在如圖1-35所示的對話框中填寫“IDE Key”(和xdebug.idekey=PHPSTORM保持一致)和“Host”(和xdebug.remote_host=www.demo.com保持一致),“Port”默認(rèn)為9001可不修改,單擊“Apply”按鈕。

4)配置Servers。在“Setting”對話框中,選擇“PHP”→“Servers”選項(xiàng),創(chuàng)建一個(gè)本地調(diào)試服務(wù)器,在如圖1-36所示的界面中單擊“+”按鈕新增一個(gè)Server,“Name”可自己定義,“Host”依然填寫www.demo.com,“Port”默認(rèn)為80,“Debugger”選擇Xdebug,最后單擊“OK”按鈕,關(guān)閉“Setting”對話框。

5)配置測試項(xiàng)目。選擇“Run”→ “Edit Configurations”命令,新建一個(gè)運(yùn)行調(diào)試配置,在彈出的如圖1-37所示的對話框中單擊左側(cè)的“+”按鈕,在彈出的下拉菜單中選擇“P HP Web Page”選項(xiàng),打開如圖1-38所示的對話框,然后自定義運(yùn)行調(diào)試配置的“Name”,在“Server”下拉列表框中選擇在圖1-36中創(chuàng)建的本地調(diào)試服務(wù)器,即“myServer”。

圖1-35 設(shè)置DBGp Proxy信息

圖1-36 創(chuàng)建本地調(diào)試服務(wù)器

6)斷點(diǎn)測試。在項(xiàng)目中新建一個(gè)名為“test. php”的文件,單擊代碼視圖中行號的位置新增一個(gè)斷點(diǎn)。在窗口右上角選擇“testDebug”的調(diào)試配置,單擊“Start|Stop Listening for PHP Debug Connections”按鈕,其中,為開啟監(jiān)聽,為停止監(jiān)聽。最后單擊按鈕或直接在瀏覽器中通過地址www. demo. com/test. php進(jìn)入調(diào)試模式。

圖1-37 新增運(yùn)行調(diào)試配置

圖1-38 填寫配置信息

程序會在設(shè)置斷點(diǎn)的位置暫停程序運(yùn)行,如圖1-40所示。此時(shí)可以在下方的調(diào)試面板中查看當(dāng)前的調(diào)試信息,也可通過快捷鍵〈F8〉(Step Over)、〈F7〉(Step Into)來繼續(xù)執(zhí)行程序。

Step Over(單步跳過)將子函數(shù)整體作為一步,不會進(jìn)入子函數(shù)內(nèi)部單步執(zhí)行。Step Into(單步跳入)遇到子函數(shù)后進(jìn)入子函數(shù)內(nèi)部繼續(xù)單步執(zhí)行。

圖1-39 設(shè)置斷點(diǎn)

圖1-40 調(diào)試模式

主站蜘蛛池模板: 霍城县| 罗定市| 建德市| 喜德县| 金沙县| 皮山县| 工布江达县| 镇巴县| 马尔康县| 寻乌县| 唐山市| 和硕县| 山阳县| 武胜县| 内乡县| 江门市| 蓝山县| 黎川县| 五寨县| 郴州市| 迁西县| 隆安县| 临泽县| 遵义市| 怀宁县| 镶黄旗| 水富县| 十堰市| 杂多县| 富宁县| 泾川县| 舟曲县| 台北县| 锦州市| 常熟市| 长丰县| 白朗县| 昌图县| 平顶山市| 温泉县| 沙雅县|