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

相关文章
相关标签/搜索