前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker环境下的xdebug安装与代码调试

docker环境下的xdebug安装与代码调试

作者头像
Mandy的名字被占用了
修改2021-11-25 14:40:32
1.9K0
修改2021-11-25 14:40:32
举报

文章整理在GitHub,Gitee主要包含的技术有PHP、Redis、MySQL、JavaScript、HTML&CSS、Linux、Java、Golang、Linux和工具资源等相关理论知识、面试题和实战内容。

http://mpvideo.qpic.cn/0bc3cyacoaaateaakz4v35qvafwde4laajya.f10002.mp4?dis_k=48f5295fd08afc67476a6842bbbd854c&dis_t=1637821765&vid=wxv_2140292801505427459&format_id=10002&support_redirect=0&mmversion=false

xdebug介绍

Xdebug是PHP的一个扩展,方便我们调试PHP应用程序的执行流程信息。使用过JavaScript中的debug,应该就能很好的理解xdebug。总结,大致有如下的功能:

  1. 它包含一个用于IDE的调试器。
  2. 它升级了PHP的var_dump()函数。
  3. 它为通知,警告,错误和异常添加了堆栈跟踪。
  4. 它具有记录每个函数调用和磁盘变量赋值的功能。
  5. 它包含一个分析器。
  6. 它提供了与PHPUnit一起使用的代码覆盖功能。

本文针对docker的环境下,进行xdebug的安装与简单调试。

环境

环境都是在docker上运行的,使用到了dnmp。

PHP版本:7.4.20。xdebug版本:3.1.1。

流程

要想使用docker下的PHP容器来调试。比如要经过下面的几个流程。大家按照下面的流程进行安装,就可以了。使用这个方式非常简单、快捷。

  1. 使用docker搭建一个PHP容器。
  2. 给PHP安装xdebug扩展。
  3. 配置xdebug信息。
  4. 配置PHPstorm即可。

按照PHP容器

这一步就省略,搭建可以根据自己的需要搭建,也可以使用演示环境中使用的docker环境。、Gitee[https://gitee.com/bruce_qiq/php_dnmp/tree/master]

安装xdebug扩展

按照xdebug扩展也是非常简单,直接使用install-php-extensions xdebug就可以了。如果你是自己搭建的PHP容器,也可以使用常规的编译方式安装xdebug扩展。需要注意xdebug与PHP的版本。xdebug官方是提供了一个检测工具,帮助我们如何选择xdebug的版本。我们可以在终端使用php -i将输出的内容,填充到网站的文本框内,检测之后,会自动给出安装的版本,以及安装的流程。

如果出现下面的界面,则表示扩展安装成功。

代码语言:javascript
复制
+----------------------------------------------------------------------+
|                                                                      |
|   INSTALLATION INSTRUCTIONS                                          |
|   =========================                                          |
|                                                                      |
|   See https://xdebug.org/install.php#configure-php for instructions  |
|   on how to enable Xdebug for PHP.                                   |
|                                                                      |
|   Documentation is available online as well:                         |
|   - A list of all settings:  https://xdebug.org/docs-settings.php    |
|   - A list of all functions: https://xdebug.org/docs-functions.php   |
|   - Profiling instructions:  https://xdebug.org/docs-profiling2.php  |
|   - Remote debugging:        https://xdebug.org/docs-debugger.php    |
|                                                                      |
|                                                                      |
|   NOTE: Please disregard the message                                 |
|       You should add "extension=xdebug.so" to php.ini                |
|   that is emitted by the PECL installer. This does not work for      |
|   Xdebug.                                                            |
|                                                                      |
+----------------------------------------------------------------------+

配置

配置xdebug

代码语言:javascript
复制
[xdebug]
xdebug.client_port=9000
xdebug.client_host=192.168.2.101
xdebug.mode=develop,debug,profile,trace
xdebug.profiler_append = 0
xdebug.profiler_output_name = cachegrind.out.%p
xdebug.start_with_request = default|yes|no|trigger
xdebug.trigger_value = StartProfileForMe

PHPstorm配置

PHPstorm我使用的是2021版本,因此在界面可能有一些不太一样。大家根据自己的情况,找到对应的配置即可。大致的界面如下:

Snipaste_2021-11-14_16-02-38

Snipaste_2021-11-14_16-06-46

Snipaste_2021-11-14_16-07-30

Error running 'local': Port 9501 is busy。如果在实际调试中出现该错误信息,则直接修改一个端口号(没有被占用的端口号),重启PHP服务就可以了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 卡二条的技术圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • xdebug介绍
  • 环境
  • 流程
    • 按照PHP容器
      • 安装xdebug扩展
      • 配置
      • PHPstorm配置
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档