微信公眾號開發時,微信服務器需回調本地開發機的公網可訪問 URL。本地調試正常,但微信服務器發起的遠程請求無法直接觸發本地斷點。
| 工具 | 特點 | 適用場景 |
|---|---|---|
| ngrok | 免費版隨機域名、付費版固定域名、配置簡單 | 臨時調試、個人開發者 |
| frp | 自建服務器、穩定可控、支持 TCP/UDP/HTTP/HTTPS | 團隊長期使用、企業環境 |
| Cpolar / 花生殼 | 國內服務商、有免費額度、圖形界面 | 不想折騰服務器的國內開發者 |
| Cloudflare Tunnel | 免費、無流量限制、需域名、配置稍複雜 | 有域名、追求穩定免費方案 |
# 1. 下載解壓 ngrok
# 2. 配置認證 token (註冊官網獲取)
ngrok config add-authtoken YOUR_TOKEN
# 3. 啟動 HTTP 隧道映射本地 80 端口
ngrok http 80
# 4. 輸出類似:
# Forwarding https://abc123.ngrok-free.app -> https://localhost:80
# 將 https://abc123.ngrok-free.app 配置為微信公眾號服務器 URL
[Xdebug]
zend_extension="php_xdebug.dll"
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1 ; 客戶端 IP (Zend Studio 所在機器)
xdebug.client_port=9003 ; 調試端口 (Xdebug 3 默認 9003)
xdebug.idekey="ZEND_STUDIO" ; IDE Key
xdebug.log="C:/xdebug.log" ; 調試日志路徑
xdebug.discover_client_host=false ; 內網穿透場景建議 false
Window > Preferences > PHP > Debug > Installed Debuggers 確認 Xdebug 版本匹配PHP > Servers 新建服務器:
Run > Debug Configurations > PHP Web Application 新建配置:
安裝 Xdebug Helper (Chrome/Edge/Firefox),設置 IDE Key 為 `ZEND_STUDIO`,點擊「Debug」圖標激活調試會話。
Run > Start Listening for PHP Debug Connections| 現象 | 排查方向 |
|---|---|
| 斷點不命中 | 檢查 `xdebug.client_host` 是否為 Zend Studio 真實 IP;防火牆放行 9003 端口;IDE Key 是否一致 |
| 變量顯示亂碼 | 確保 PHP 文件編碼為 UTF-8 無 BOM;Zend Studio 專案編碼設置 UTF-8 |
| 調試極慢/超時 | 關閉不必要的 Xdebug 功能 (`xdebug.mode=debug` 僅開啟調試);增加 `xdebug.max_nesting_level` |
| ngrok 連接不穩 | 升級付費版固定域名;或自建 frp 服務器 |
詳細圖文教程:Zend Studio 遠程調試 PHP 完整配置指南