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中的端口号保持一致。 3.设置DBGP协议 4.设置Servers 5.add configuration 6.设置通讯状态
使用postman测试
1.在phpStorm中设置断点 2.xdebug触发条件是接口中的cookie,所以需要在postman中添加一个cookie,cookie的值为:
XDEBUG_SESSION=PHPSTORM;
3.点击Send,查看phpStorm是否有启动xdebug。 4.查看xdebug相关信息
版权归原作者 林深见我 所有, 如有侵权,请联系我们删除。