Xdebug3更新了配置參數、簡化了配置選項,跟Xdebug2配置有所不同,所以需要我們重新配置下。
環境
- 系統版本:Macos
- PHP版本 :7.2
- phpstorm版本:2021.1
- Xdebug版本:3.0.4
Xdebug配置
- 首先去 xdebug 官網下載對應php版本的xdebug擴展,將phpinfo的信息復制到下圖的輸入框中,點擊here就會出現對應的xdebug擴展。
- 打開php.ini添加如下代碼
[XDebug]
zend_extension = xdebug.so
xdebug.log = /usr/local/php/xdebug.log
xdebug.mode = develop,debug
xdebug.start_with_request = default|default
xdebug.client_port = 9003
xdebug.client_host = 127.0.0.1
xdebug.remote_handler = dbgp
xdebug.idekey = PHPSTORM
xdebug.cli_color = 2
xdebug.var_display_max_depth = 15
xdebug.var_display_max_data = 2048
在Xdebug 2中,每個功能都有一個啟用設置,使用Xdebug 3我們只需要設置xdebug.mode一個參數就行。詳細說明請看官方文檔
參數詳解
- xdebug.mode 必須與xdebug.start_with_request搭配使用。 不同的mode有不同的用途,如果要多個模式一起開啟,就用
,
分隔開就行。develop主要是開啟var_dump格式化顯示,debug主要是開啟步驟調試。詳情請參考官方文檔 - xdebug.start_with_request 用於設置xdebug.mode 不同model的啟用和關閉。設置多個model用
|
分割。
參數更改
- xdebug.remote.log 更改為 xdebug.log
- xdebug.remote_host 、xdebug.remote_port 更改為 xdebug.client_host、xdebug.client_port
phpstorm本地調試配置
指定本地php環境
這里的端口設置和php.ini設置要一致
添加本地虛擬主機域名
運行項目
運行項目之前開啟監聽
打斷點 瀏覽器訪問
斷點成功
phpstorm遠程調試配置
連接遠程服務器
遠程調試需要我們配置連接遠程服務器配置
debug server需要勾選use path mapping,其他配置和本地調試一樣。
內網穿透工具(如果是內網和本地虛擬機不需要配置)
由於本地需要和遠程服務器通信,我們需要安裝內網穿透工具。這里推薦frp
遠程服務器frp配置
[common]
bind_addr = 0.0.0.0
bind_port = 7000
dashboard_port = 7500
dashboard_user = 設置你的賬號
dashboard_pwd = 設置你的密碼
privilege_token = frp
本地frp配置
[common]
server_addr = 遠程服務器ip
server_port = 7000
privilege_token = frp
log_file = ./frpc.log
log_level = trace
log_max_days = 3
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 9003
use_encryption = false
use_compression = false
custom_domains = 遠程服務器ip
remote_port = 9003
配置chrome插件
首先我們需要對瀏覽器安裝Xdebug helper插件,用於在請求中添加參數,類似:XDEBUG_SESSION_START=session_name。
- Chrome: https://chrome.google.com/webstore/detail/xdebug-helper/
- Firefox: https://addons.mozilla.org/en-US/firefox/addon/the-easiest-xdebug/
更改配置