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擴展庫的編譯環境
#cd xdebug-2.7.2 //準備PHP擴展庫的編譯環境 #phpize
如果提示不存在此命令,可以到php目錄中找到該命令的絕對路徑,然後執行。
關於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、設置斷點、發送請求
6、相信有很多小夥伴發現,自己的PhpStrom並沒有監聽到自己發送的請求。出發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)重新執行:點此按鈕會停止當前的請求並在此運行
- (2)調試:當前應用程序停止時,單擊此按鈕再次調試它。
- (3)暫停程序:單擊此按鈕可暫停程序執行
- (4)停止:單擊此按鈕可通過標準shutdown 腳本在外部終止當前進程
- (5)查看斷點:單擊此按鈕可打開“ 斷點”對話框,你可以在其中配置斷點行為
前五個是最常用的,後邊四個不常用,這裡不再詳細說明。
然後再從左到右介紹一下上邊紅框中按鈕的作用:
- (1)顯示執行點:單擊此按鈕可突出顯示編輯器中的當前執行點
- (2)跳過:單擊此按鈕執行程序,直到當前方法或文件中的下一行,跳過當前執行點(如果有)引用的方法。如果當前行是方法中的最後一行,則執行步驟到此方法之後執行的行。
- (3)進入:單擊此按鈕可使調試器步入當前執行點調用的方法
- (4)強制進入:單擊此按鈕可使調試器步進到當前執行點中調用的方法中,即使要跳過此方法也是如此
- (5)跳出:單擊此按鈕可以將調試器步驟從當前方法中移出,直到它之後執行的行
- (6)運行到光標:這個實際操作的時候,你會發現,當你打瞭多個斷點時,點擊此按鈕,它會跳到下一個斷點處
- (7)評估表達:單擊會出現評估表達式對話框
四、一個請求的Xdebug過程
1、向php發送一個請求
2、php執行過程中遇到斷點,Xdebug收集請求信息(這個我們在php.ini中會配置收集哪些信息,比如請求參數、返回值等)
3、Xdebug將收集到的信息發送到它配置的遠程IP(包括端口,這些我們在php.ini中都有配置)
4、我們在配置PhpStrom的Xdebug時,配置瞭它監聽Xdebug中配置的端口,所以PhpStrom會收到Xdebug收集到的信息
5、PhpStrom展示出接收到的Xdebug信息
以上就是PhpStrom使用Xdebug技巧圖文教程的詳細內容,更多關於PhpStrom使用Xdebug的資料請關註WalkonNet其它相關文章!