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

共 3107字,需浏览 7分钟

 ·

2021-11-23 19:31

专注于PHP、MySQL、Linux和前端开发,感兴趣的感谢点个关注哟!!!文章整理在GitHub,Gitee主要包含的技术有PHP、Redis、MySQL、JavaScript、HTML&CSS、Linux、Java、Golang、Linux和工具资源等相关理论知识、面试题和实战内容。

@author: 一只独立特行的猪 @文档地址:卡二条的技术圈

10000道一线大厂面试真题

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将输出的内容,填充到网站的文本框内,检测之后,会自动给出安装的版本,以及安装的流程。

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

+----------------------------------------------------------------------+
|                                                                      |
|   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

[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服务就可以了。



浏览 73
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报