xdebug、PHPSTORM 配置 PHP 断点 DEBUG 相关配置
1.为什么要费心去调试断点
背景:最近我碰巧调试了一个 PHP 服务中的一个 bug。我通常使用二分法+日志的方法来查找错误。图像简单而粗糙。后来发现同事(老高)在用断点调试,就想着尝试一下。顺便说一句,我使用了老高给我的关键字Xdebug和相关配置。
2。 xdebug 配置流程
- 创建 xdebug.ini 配置文件
[xdebug]
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
xdebug.mode=develop,debug
xdebug.client_port = 9003
# 将 xdebug.start_with_request 设置为 yes 表示 Xdebug 扩展将自动启动调试会话,而不需要在 URL 参数中指定。这在大多数情况下都是合适的设置,但请确保您的应用程序环境支持这种自动启动调试会话的方式。
xdebug.start_with_request=yes
xdebug.log='/data/logs/php/xdebug.log'
xdebug.connect_timeout_ms=2000
xdebug.client_host=host.docker.internal
- 创建 dockerfile 文件
FROM php:7.2-fpm
WORKDIR /data/
# 安裝 delve
RUN pecl install xdebug-3.1.4
COPY xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
注: 上面的第一步和第二步是安装和配置 xdebug。
Xdebug:是一个开源的调试器和分析工具,用于调试和分析 PHP 应用程序。主要有5个功能点(增量调试(Debugging)、跟踪(Tracing)、增强错误报告、性能分析、单元测试覆盖率分析)更多功能探索可以查看xdebug官网: https://xdebug.org/
- docker-compose替换了原来的PHP镜像
- 这里../../cave/php包含两个文件(第一步是xdebug.ini,第二步是dockerfile)
api:
container_name: api
# image: php
build: ../../cave/php/
- 启动容器后,运行容器并检查是否配置成功
注:当我在这里搜索在线教程时,我发现仍然有人配置DBGP代理(DBGP Proxy)用于在调试器和活动PHP脚本之间建立调试连接。不过,这里我们直接在xdebug.ini配置文件中配置xdebug.client_host=host.docker.internal,这样就可以直接从宿主机连接到PHPSTORM启动的调试器了。 断点后请求API接口,激活调试 参考文档:https://www.jetbrains.com/help/phpstorm/debugging-with-phpstorm-ultimate-guide.html 以上基本涵盖了使用PhpStorm的PHP程序的所有配置和调试。基本操作完成。php -i | grep 图像。 png
image.png
3。 PHPstorm调试基础教程
image.png
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。