推荐代码调试工具 Xdebug

栏目: PHP · 发布时间: 6年前

内容简介:写代码总绕不过需要调试,除了 UnitTest 外,我们还是需要借助 Xdebug 进行调试。所以今天来说说如何基于本地 Docker 环境下,使用 Xdebug。这里的使用,是分别整合到 VS Code 和 PHPStorm 下。

写代码总绕不过需要调试,除了 UnitTest 外,我们还是需要借助 Xdebug 进行调试。

所以今天来说说如何基于本地 Docker 环境下,使用 Xdebug。

这里的使用,是分别整合到 VS Code 和 PHPStorm 下。

推荐代码调试工具 Xdebug

安装 Xdebug

还是基于神级武器 —— Laradock。我们先看看 Laradock 官网是怎么安装 Xdebug。

Install xDebug#

1 - First install xDebug in the Workspace and the PHP-FPM Containers:

a) open the .env file b) search for the WORKSPACE_INSTALL_XDEBUG argument under the Workspace Container c) set it to true d) search for the PHP_FPM_INSTALL_XDEBUG argument under the PHP-FPM Container e) set it to true

2 - Re-build the containers docker-compose build workspace php-fpm

参考: laradock.io/documentati…

我们修改对应的地方,然后 build ,如果出现下面的错误提示:

推荐代码调试工具 Xdebug

尝试添加国内源试试:

RUN  sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
复制代码

重新 docker-compose up -d nginx 后,在 Windows / Mac 下用命令 ./php-fpm/xdebug status 查看安装状态:

推荐代码调试工具 Xdebug

配置 Xdebug

目前开发使用 IDE,个人觉得普遍用的最多的就是 VS Code 和 PHPStorm。所以下面就利用这两个 IDE,分别说说如何使用 Xdebug 的。

VS Code

在 VS Code 下,如果没安装 Xdebug 插件,直接搜索安装即可:

推荐代码调试工具 Xdebug

安装后,增加 Xdebug 环境配置:

推荐代码调试工具 Xdebug

这样就会项目的 .vscode 文件夹下多了一个 Xdebug 配置文件 launch.json ,我们配置端口号与 php-fpm 下的 Xdebug 一致,我们再配置 pathMappingsdocker 下的项目路径与本地项目路径关联。具体如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "XDebug listening to Laradock",
            "log": true,
            "type": "php",
            "request": "launch",
            "port": 9000,
            "pathMappings": {
                "/var/www/myrss": "${workspaceFolder}",
            }
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}
复制代码

好了,我们启动 XDebug ,打印出如下内容,即表示等待请求:

推荐代码调试工具 Xdebug

我们写个 Demo,并设置断点:

Artisan::command('hello', function () {
    $i = 0;
    $i++;

    return "hello".$i;
});
复制代码
推荐代码调试工具 Xdebug

然后启动 Xdebug ,并执行命令:

php artisan hello
复制代码

我们可以看到很多输入、输出、断点等信息:

推荐代码调试工具 Xdebug

其中我们也能看到此时的变量 $i 处于未初始状态:

推荐代码调试工具 Xdebug

我们在这断点继续往下执行:

推荐代码调试工具 Xdebug
推荐代码调试工具 Xdebug

PHPStorm

在 Mac 或者 Windows 10 下 Docker 的默认 ip 为:10.0.75.1,

我们先增加一个 Server,其中:

  • Name:laradock
  • Host: 10.0.75.1
  • mappings,等同于上文 VS Code 配置的 pathMappings
推荐代码调试工具 Xdebug

然后,可以新建 PHP Remote Debug,其中:

  • Server:关联到我们上面建的 laradock
  • IDE key:和 Laradock‘s php-fpm 中配置的保持一致即可
推荐代码调试工具 Xdebug

好了,我们可以使用 demo,创建断点,运行 Debug 等待请求::

推荐代码调试工具 Xdebug

一样的,执行命令: php artisan hello

推荐代码调试工具 Xdebug

我们继续往下走:

推荐代码调试工具 Xdebug

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码整洁之道

代码整洁之道

[美]Robert C. Martin / 韩磊 / 人民邮电出版社 / 2010-1-1 / 59.00元

软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。 本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵......一起来看看 《代码整洁之道》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换