PhpStrom使用Xdebug技巧圖文教程
一、PHP7安裝Xdebug擴(kuò)展
1、下載xdebug
#wget https://xdebug.org/files/xdebug-2.7.2.tgz
(使用windows可以去官網(wǎng)下載:https://xdebug.org/download)
2、解壓xdebug
#tar xvf xdebug-2.7.2.tgz
3、準(zhǔn)備PHP擴(kuò)展庫的編譯環(huán)境
#cd xdebug-2.7.2 //準(zhǔn)備PHP擴(kuò)展庫的編譯環(huán)境 #phpize
如果提示不存在此命令,可以到php目錄中找到該命令的絕對路徑,然后執(zhí)行。
關(guān)于phpize:https://www.php.net/manual/zh/install.pecl.phpize.php
4、編譯安裝
//配置 #./configure --enable-xdebug --with-php-config=/usr/local/php/bin/php-config //編譯安裝 #make&&make install
5、配置php.ini
zend_extension=xdebug.so #增加xdebug擴(kuò)展 xdebug.remote_enable = 1 #是否開啟遠(yuǎn)程 xdebug.remote_autostart=On #開啟遠(yuǎn)程調(diào)試自動啟動 xdebug.remote_host=192.168.109.103 #這是你的客戶端ip xdebug.remote_port = 9001#遠(yuǎn)程端口(可以自己隨意配置) xdebug.collect_params=On #收集參數(shù) xdebug.collect_return=On #收集返回值 xdebug.profiler_enable=On #啟用性能檢測分析 xdebug.trace_output_dir="/tmp/xdebug_profiler" #指定堆棧跟蹤文件的存放目錄 xdebug.profiler_output_name = cachegrind.out.%t.%p #跟蹤轉(zhuǎn)儲到的文件的名稱 xdebug.profiler_output_name="cachegrind.out.%p" #確定用于將跟蹤轉(zhuǎn)儲到的文件的名稱
更多的配置,參考:https://xdebug.org/docs/all_settings
6、查看xdebug擴(kuò)展是否安裝成功
#php -m
看到xdebug,說明安裝成功
二、PhpStrom配置Xdebug
1、打開PhpStrom》Preferences》PHP》Debug
2、打開PhpStrom》Preferences》PHP》Server
3、右上角
4、開啟Xdebug
5、設(shè)置斷點、發(fā)送請求
6、相信有很多小伙伴發(fā)現(xiàn),自己的PhpStrom并沒有監(jiān)聽到自己發(fā)送的請求。出發(fā)PhpStrom的debug有兩種方式:
- (1)GET、POST請求中需要存在XDEBUG_SESSION_START參數(shù)或者cookie里存在XDEBUG_SESSION,這個值隨意(細(xì)心的小伙伴應(yīng)該會看見我在配置請求類別的時候,約定了一個IDE key)。
GET、POST會生成cookie XDEBUG_SESSION,有效期為1個小時(可修改php.ini配置)。
網(wǎng)頁上的web請求,大家可以下載Xdebug相關(guān)的瀏覽器插件,比如Xdebug helper,它里邊附加的有IDE key配置,只需與我們在PhpStrom中配置的一致即可。
- (2)我們還可以在php.ini中添加如下一行配置:
xdebug.remote_autostart = 1
此時便無需設(shè)置GET、POST、cookie
7、剛剛我舉例的是,請求一個接口,請求時添加了cookie,XDEBUG_SESSION=PHPSTROM。如果我用第一種方式,并且是網(wǎng)頁請求,非得添加這個配置嗎?當(dāng)然不是,看下邊:
在你要請求的頁面打上斷點,然后在瀏覽器中輸入請求url(記得開啟PhpStrom的debug)
再看你的PhpStrom,它已經(jīng)顯示出Xdebug收集的信息了
到這里,PhpStrom配置Xdebug就完成了,相信大家看到了在PhpStrom中展示的信息旁邊有很多小按鈕,沒錯,那就是一些調(diào)試工具,下邊就來逐個介紹一下。
三、PhpStrom中的Xdebug工具
說明:以下摘自PHPstorm官網(wǎng)的debug幫助手冊:
由于以下Xdebug相關(guān)功能按鈕貼圖展示每個功能不易明白。以下序號對應(yīng)紅框中順序按鈕的功能,小伙伴們可以按照下邊實際操作一遍。
先從左邊紅框中的功能按鈕開始逐個介紹:
- (1)重新執(zhí)行:點此按鈕會停止當(dāng)前的請求并在此運行
- (2)調(diào)試:當(dāng)前應(yīng)用程序停止時,單擊此按鈕再次調(diào)試它。
- (3)暫停程序:單擊此按鈕可暫停程序執(zhí)行
- (4)停止:單擊此按鈕可通過標(biāo)準(zhǔn)shutdown 腳本在外部終止當(dāng)前進(jìn)程
- (5)查看斷點:單擊此按鈕可打開“ 斷點”對話框,你可以在其中配置斷點行為
前五個是最常用的,后邊四個不常用,這里不再詳細(xì)說明。
然后再從左到右介紹一下上邊紅框中按鈕的作用:
- (1)顯示執(zhí)行點:單擊此按鈕可突出顯示編輯器中的當(dāng)前執(zhí)行點
- (2)跳過:單擊此按鈕執(zhí)行程序,直到當(dāng)前方法或文件中的下一行,跳過當(dāng)前執(zhí)行點(如果有)引用的方法。如果當(dāng)前行是方法中的最后一行,則執(zhí)行步驟到此方法之后執(zhí)行的行。
- (3)進(jìn)入:單擊此按鈕可使調(diào)試器步入當(dāng)前執(zhí)行點調(diào)用的方法
- (4)強(qiáng)制進(jìn)入:單擊此按鈕可使調(diào)試器步進(jìn)到當(dāng)前執(zhí)行點中調(diào)用的方法中,即使要跳過此方法也是如此
- (5)跳出:單擊此按鈕可以將調(diào)試器步驟從當(dāng)前方法中移出,直到它之后執(zhí)行的行
- (6)運行到光標(biāo):這個實際操作的時候,你會發(fā)現(xiàn),當(dāng)你打了多個斷點時,點擊此按鈕,它會跳到下一個斷點處
- (7)評估表達(dá):單擊會出現(xiàn)評估表達(dá)式對話框
四、一個請求的Xdebug過程
1、向php發(fā)送一個請求
2、php執(zhí)行過程中遇到斷點,Xdebug收集請求信息(這個我們在php.ini中會配置收集哪些信息,比如請求參數(shù)、返回值等)
3、Xdebug將收集到的信息發(fā)送到它配置的遠(yuǎn)程IP(包括端口,這些我們在php.ini中都有配置)
4、我們在配置PhpStrom的Xdebug時,配置了它監(jiān)聽Xdebug中配置的端口,所以PhpStrom會收到Xdebug收集到的信息
5、PhpStrom展示出接收到的Xdebug信息
以上就是PhpStrom使用Xdebug技巧圖文教程的詳細(xì)內(nèi)容,更多關(guān)于PhpStrom使用Xdebug的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
在WordPress中實現(xiàn)評論頭像的自定義默認(rèn)和延遲加載
這篇文章主要介紹了在WordPress中實現(xiàn)評論頭像的自定義默認(rèn)和延遲加載,需要的朋友可以參考下2015-11-11PHP 數(shù)組操作詳解【遍歷、指針、函數(shù)等】
這篇文章主要介紹了PHP 數(shù)組操作,結(jié)合實例形式詳細(xì)分析了PHP數(shù)組遍歷、指針、數(shù)組常用函數(shù)等相關(guān)原理、使用技巧與操作注意事項,需要的朋友可以參考下2020-05-05PHP函數(shù)篇詳解十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制轉(zhuǎn)換函數(shù)說明
中文字符編碼研究系列第一期,PHP函數(shù)篇詳解十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制互相轉(zhuǎn)換函數(shù)說明,主要掌握各進(jìn)制轉(zhuǎn)換的方法,以應(yīng)用于實際開發(fā)2011-12-12PHP使用HTML5 FileApi實現(xiàn)Ajax上傳文件功能示例
這篇文章主要介紹了PHP使用HTML5 FileApi實現(xiàn)Ajax上傳文件功能,結(jié)合實例形式分析了HTML5 FileApi的功能、原理及php使用HTML5 FileApi實現(xiàn)ajax上傳的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07