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