amber

amber

PhpStorm配置和使用Xdebug調試

前言#

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
其他設置默認就行

1-0

零配置調試#

在零配置調試的情況下,您不需要創建任何調試配置。
相反,您在瀏覽器中手動打開 PHP 應用程序的起始頁面,然後從瀏覽器激活調試引擎,同時 PhpStorm 監聽傳入的調試器連接。

瀏覽器激活調試引擎#

1-1

PhpStorm 監聽傳入的調試器連接#

1-2

啟動調試會話#

在瀏覽器中重新加載頁面並返回到 PhpStorm,彈出對話框,選擇接受 圖 1
此時會自動創建一個服務器配置 可以在主菜單 文件 / 設置 | PHP > 服務器 查看 圖 2
重新加載頁面,發現還是沒有進入調試模式
查看配置後發現,映射路徑只映射了 public 目錄,手動加上了根目錄的映射後,打上斷點,再次重新加載,成功進入調試會話 圖 3

圖 1
1-3

圖 2
1-4

圖 3
1-5

根據配置模板創建配置調試#

手動創建服務器配置#

上面講到零配置調試,會自動創建一個服務器配置,如果已經有了就不需要創建,沒有則手動創建一個
(主菜單 文件 / 設置 | PHP> 服務器)
因為我的環境在 linux 虛擬機裡,所以需要做映射

  • 主機填項目的 ip 或者 域名 (測試 ip 需要做映射)
  • 端口號 (項目的端口號)
  • 調試器選擇 (xdebug)

1-6

使用 PHP 網頁調試配置進行調試 (PHP web page)#

從主菜單中,選擇 運行 / 編輯配置。
點擊左上角 + 選擇模板 PHP 網頁 (PHP web page),開始配置
配置完成後點擊右上角的加調試按鈕
自動打開瀏覽器,開始調試

1-7

  • 選擇剛剛配置好的服務器
  • 起始也看個人,一般默認 /
  • 選擇瀏覽器,看個人

1-8

使用 PHP 遠程調試配置進行調試 (PHP Remote Debug)#

從主菜單中,選擇 運行 / 編輯配置。
點擊左上角 + 選擇模板 PHP 遠程調試 (PHP Remote Debug),開始配置
配置完成後點擊右上角的加調試按鈕,啟動調試會話
需要手動打開網站,並且需要設置瀏覽器 xdebug 插件
右鍵 xdebug 圖標,展開下拉菜單,點擊” 選項 “,IDE 密鑰選擇 phpstorm
這樣就能開始調試了

1-9

  • 選擇剛剛配置好的服務器
  • IDE 鍵 (會話 ID) 自定義填寫 一般填 PHPSTORM,以對應瀏覽器 xdebug 插件的 IDE 密鑰

配置窗口
1-10

瀏覽器 xdebug 插件 選項配置
1-11

總結#

  • 零配置調試

只要開啟右上角監聽調試的開關,和啟用瀏覽器插件 xdebug
重新加載網頁,就能進入調試會話 (並且會自動創建一個服務器配置)

  • PHP 網頁調試

需要手動創建服務器配置
點擊右上角,調試按鈕,能自動打開網頁
會自動創建 為數字的 IDE key

  • PHP 遠程調試

需要手動創建服務器配置
點擊右上角,調試按鈕,需要手動打開網頁
並且預設的 IDE key 需要和瀏覽器插件 xdebug 內 IDE key 的相同

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。