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

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

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

工具準備:

一、ubuntu18 (開發環境)
二、phpstorm (IDE)nginx

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

首先,咱們須要安裝xdebug,開啓php的xdebug擴展

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

在最後面加入以下配置:web

[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自動開始ubuntu

  • 加入配置後,須要重啓下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對應phpstorm

  • 配置DBGp

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

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

clipboard.png

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

  • 添加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

相關文章
相關標籤/搜索