前言#
PhpStorm 裡面的功能太多了,其中的調試功能也容易讓人摸不著頭腦
這裡記錄下 PhpStorm 配置和使用 xdebug 調試的過程
參考鏈接
準備工作#
- php 安裝 xdebug 拓展 (2.x 和 3.x 的配置有區別)
- 瀏覽器安裝 xdebug 插件 (以 chrome 為例,需要科學上網) Xdebug Helper
- PhpStorm (當前版本 2022.1.4 影響不大看個人)
php.ini Xdebug 配置#
;;;id1 Xdebug 2.x
[xdebug]
zend_extension="<path to xdebug extension>"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port="<the port (9000 by default) to which Xdebug connects>"
;;;
;;;id1 Xdebug 3.x
[xdebug]
zend_extension="<path to xdebug extension>"
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port="<the port (9003 by default) to which Xdebug connects>"
;;;
以我的開發環境為例 xdebug 2.x (共享文件夾,本地目錄映射虛擬機為例)
remote_host=192.168.0.* (個人 PC 的局域網 ip 地址)
remote_port=19000 (端口默認 9000) 可以自定義設置端口,只要不衝突就行
額外參數介紹
-
開啟 xdebug 時,默認 overload_var_dump=2,因為習慣 var_dump () 默認的打印,可以設置 0 關掉
xdebug.overload_var_dump=0 -
PhpStorm 支持在 Just-In-Time (JIT) 模式下使用 Xdebug, 默認 xdebug.remote_mode=req 一般情況不用設置
xdebug.remote_mode=jit -
通過 DBGP 代理進行多用戶調試
官網描述
xdebug.idekey 設置並為其指定一個您選擇的值。此值將用於在 Xdebug 代理服務器上註冊您的 IDE。
xdebug.remote_host 設置 dbgp_proxy_hostname_or_ip
(具體沒試過,不會用到多用戶調試,所以看之前別人的教程,一般調試,這個根本不用設置)
PhpStorm 配置#
PhpStorm 支持使用兩種最流行的工具進行調試:Xdebug 和 Zend Debugger, 這裡介紹 Xdebug
使用 PhpStorm,可以通過 主菜單 運行 / 調試配置 或 不使用它來啟動 PHP 調試會話。後一種方法也稱為零配置調試。
在 PhpStorm 中配置 Xdebug#
首先在 主菜單 文件 / 配置 | PHP > 調試 配置中
主要配置就 Xdebug 裡的調試端口號 要和 php.ini 的一致 也可以填寫多個用逗號分隔 如 9000,9003,19000
其他設置默認就行
零配置調試#
在零配置調試的情況下,您不需要創建任何調試配置。
相反,您在瀏覽器中手動打開 PHP 應用程序的起始頁面,然後從瀏覽器激活調試引擎,同時 PhpStorm 監聽傳入的調試器連接。
瀏覽器激活調試引擎#
PhpStorm 監聽傳入的調試器連接#
啟動調試會話#
在瀏覽器中重新加載頁面並返回到 PhpStorm,彈出對話框,選擇接受 圖 1
此時會自動創建一個服務器配置 可以在主菜單 文件 / 設置 | PHP > 服務器 查看 圖 2
重新加載頁面,發現還是沒有進入調試模式
查看配置後發現,映射路徑只映射了 public 目錄,手動加上了根目錄的映射後,打上斷點,再次重新加載,成功進入調試會話 圖 3
圖 1
圖 2
圖 3
根據配置模板創建配置調試#
手動創建服務器配置#
上面講到零配置調試,會自動創建一個服務器配置,如果已經有了就不需要創建,沒有則手動創建一個
(主菜單 文件 / 設置 | PHP> 服務器)
因為我的環境在 linux 虛擬機裡,所以需要做映射
- 主機填項目的 ip 或者 域名 (測試 ip 需要做映射)
- 端口號 (項目的端口號)
- 調試器選擇 (xdebug)
使用 PHP 網頁調試配置進行調試 (PHP web page)#
從主菜單中,選擇 運行 / 編輯配置。
點擊左上角 + 選擇模板 PHP 網頁 (PHP web page),開始配置
配置完成後點擊右上角的加調試按鈕
自動打開瀏覽器,開始調試
- 選擇剛剛配置好的服務器
- 起始也看個人,一般默認 /
- 選擇瀏覽器,看個人
使用 PHP 遠程調試配置進行調試 (PHP Remote Debug)#
從主菜單中,選擇 運行 / 編輯配置。
點擊左上角 + 選擇模板 PHP 遠程調試 (PHP Remote Debug),開始配置
配置完成後點擊右上角的加調試按鈕,啟動調試會話
需要手動打開網站,並且需要設置瀏覽器 xdebug 插件
右鍵 xdebug 圖標,展開下拉菜單,點擊” 選項 “,IDE 密鑰選擇 phpstorm
這樣就能開始調試了
- 選擇剛剛配置好的服務器
- IDE 鍵 (會話 ID) 自定義填寫 一般填 PHPSTORM,以對應瀏覽器 xdebug 插件的 IDE 密鑰
配置窗口
瀏覽器 xdebug 插件 選項配置
總結#
- 零配置調試
只要開啟右上角監聽調試的開關,和啟用瀏覽器插件 xdebug
重新加載網頁,就能進入調試會話 (並且會自動創建一個服務器配置)
- PHP 網頁調試
需要手動創建服務器配置
點擊右上角,調試按鈕,能自動打開網頁
會自動創建 為數字的 IDE key
- PHP 遠程調試
需要手動創建服務器配置
點擊右上角,調試按鈕,需要手動打開網頁
並且預設的 IDE key 需要和瀏覽器插件 xdebug 內 IDE key 的相同