PhpStorm+Postman+xdebug構建遠程調試環境

本文只講環境搭建,不涉及具體原理。

出發點:使用xdebug對php項目進行調試

工具準備:

1、ubuntu18 (開發環境)
2、phpstorm (IDE)

前提:已搭建好lnmp開發環境

首先,我們需要安裝xdebug,開啓php的xdebug擴展

  • 安裝命令:
pecl install xdebug
  • 修改php配置文件php.ini
vi /usr/local/php/etc/php.ini

在最後面加入如下配置:

[xdebug]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so"
xdebug.idekey=PHPSTORM
xdebug.remote_host = 192.168.31.165
xdebug.remote_port = 9001
xdebug.remote_handler = dbgp
xdebug.auto_trace = 1
xdebug.remote_autostart = 1
xdebug.remote_log = /tmp/xdebug.log

簡單說下各項配置的含義:
zend_extension     xdebug擴展so文件位置
xdebug.idekey     與IDE通信的key值,待會在phpstorm也需要用到
xdebug.remote_host  IDE所在的主機IP地址
xdebug.remote_port  通信端口,不可與php和nginx通信的9000重複
xdebug.remote_autostart自動開始

  • 加入配置後,需要重啓下php-fpm,這裏以lnmp一件安裝包命令爲例
lnmp php-fpm restart

phpstorm配置

  • phpstorm的php解釋器配置(因爲用的是遠端的php解釋器,所以要重新配置)
進入配置面板 File | Settings | Languages & Frameworks | PHP

clipboard.png

點擊新增一個php解釋器:

clipboard.png

clipboard.png

這裏選擇連接即可

  • 配置debug服務
進入配置面板 File | Settings | Languages & Frameworks
clipboard.png

配置端口,和剛纔在php.ini對應

  • 配置DBGp

這是一種語言和UI的通信協議:https://xdebug.org/docs-dbgp.php

DBGP - A common debugger protocol for languages and debugger UI communication

clipboard.png

key填寫的和xdebug.idekey字段值一樣
主機填寫待會web服務訪問的地址,填寫IP地址也行

  • 添加server

clipboard.png

遠程調試的話,需要勾選路徑映射選項,即本地主機項目的路徑和遠端項目的路徑。

  • 配置調試選項

:在這一步,要注意一點是很多網上寫着是設置PHP Web Application,但是其實新版的phpstorm已經修改了這個的名稱爲:
PHP Web Page

進入配置面板
clipboard.png

新增clipboard.png

填寫好配置信息後,點擊應用,會在左側列表新家一個PHP Web Page選項

clipboard.png

  • 接着,選擇我們剛纔創建選項

clipboard.png

如下圖,點擊開始監聽php服務器發過來的調試信息

clipboard.png

點擊開始調試,會自動彈出瀏覽器訪問web服務器。到此,已經完成了2/3了,接下來就是如何配合着Postman使用了

postman請求

其實使用postman來進行請求也簡單,在我們剛纔點擊開始調試的時候,彈出的瀏覽器地址後面會待着一個很像是通信編號的數字,沒錯,使用postman的關鍵是,要在請求地址添加XDEBUG_SESSION_START=14481,這樣,即使通過postman來請求地址時,也會將調試信息發送到我們的IDE上。

clipboard.png

phpstorm的Debugger面板信息:

clipboard.png

最後,若是有什麼問題,可以看下xdebug的log,路徑爲xdebug.remote_log = /tmp/xdebug.log

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章