Mac下Postman+phpStorm配合xdebug进行调试

  Xdebug是PHP的扩展,用于协助调试和开发。它包含一个用于IDE 的单步调试器 ; 它升级了PHP的var_dump()函数; 它为通知,警告,错误和例外添加了堆栈跟踪 ; 它具有记录每个函数调用和磁盘变量赋值的功能 ; 它包含一个分析器 ; 它提供了与PHPUnit一起使用的代码覆盖功能。

  Mac系统自带PHP环境,最新的10.14.6自带PHP版本为7.1,也可以自己使用brew安装其他版本的PHP。

安装xdebug

  1. xdebug 版本需要与php匹配,匹配地址 :点我匹配 点我查看所有版本

  2. 安装说明:网络上有大量的安装说明,一般都出自于官网,地址如下: https://xdebug.org/docs/install

xdebug运行原理详见官网说明:点我查看官方文档

  2.1 安装时碰到的坑 由于我使用的php是Mac自带的,所以在安装的时候出现了一个问题,在执行 phpize 的时候报错,错误如下:

    grep: /usr/include/php/main/php.h: No such file or directory
    grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
    grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
    Configuring for:
    PHP Api Version:        
    Zend Module Api No:     
    Zend Extension Api No: 

经查询是由于Mac系统中有系统完整性保护System Integrity Protection(SIP)导致的,需要禁用SIP保护机制才能彻底解决。

  2.2 解决方法:

1.重启mac电脑,同时按住command+R ,等出现进度条了再松开
2.弹出的界面是否有“实用工具”,有的话就打开实用工具里面的终端,输入:csrutil disable,然后回车
3.重新启动电脑。
4.再去尝试执行phpize

  3.安装完成以后需要将xdebug.so加入到php.ini中,端口号和idekey在配置phpStorm时需要使用到。

;填写xdebug.so地址
zend_extension= /usr/local/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so
;开启性能监控(一般在正式环境不建议开启)
xdebug.profiler_enable=on
;程序执行顺序日志
xdebug.trace_output_dir="/var/log/xdebug/xdebug_trace"
;程序执行性能日志
xdebug.profiler_output_dir="/var/log/xdebug/xdebug_profiler"
;xdebug的key
xdebug.idekey="PHPSTORM"
;开启远程调试
xdebug.remote_enable=on
;远程主机
xdebug.remote_host="localhost"
;xdebug的端口号
xdebug.remote_port=8000
xdebug.remote_handler=dbgp

  4.配置好以后重启php,查看phpinfo()中是否有xdebug。

phpStorm配置xdebug

  1.打开phpStorm的系统偏好设置

  2.设置Debug端口号,需要和php.ini中的端口号保持一致。 xdebug端口号   3.设置DBGP协议 DBGp Proxy协议   4.设置Servers servers   5.add configuration   6.设置通讯状态

使用postman测试

  1.在phpStorm中设置断点 打断点   2.xdebug触发条件是接口中的cookie,所以需要在postman中添加一个cookie,cookie的值为:

XDEBUG_SESSION=PHPSTORM;

Set Cookie   3.点击Send,查看phpStorm是否有启动xdebug。   4.查看xdebug相关信息 xdebug info

鹿晓鹏博客
请先登录后发表评论
  • latest comments
  • 总共0条评论