Monkey

个人站

The master has failed more times than the beginner has tried


配置安装 Sdebug swoole协程调试必备工具」

安装 sdebug「swoole协程调试必备工具」

  • 什么是 sdebug ?

    sdebug 是 swoole 编程中常用的调试工具,和在传统 MVC 框架中使用 Xdebug 调试工具一样

    Xdebug作为PHP的代码调试工具,提供了丰富的调试函数,也可将其配置为zend studio、editplus、phpstorm等IDE的第三方调试插件。通过开启Xdebug的自动跟踪(auto_trace)和分析器功能,更可以直观察PHP源代码的性能数据,从而优化PHP代码。
    但无奈Xdebug的官方文档的语言是英文,PHP新手想按照官方文档把Xdebug配置好,也并非一件容易之事。本文就是关于PHP如何开启xdebug调试的一份简单指南,希望越来越多的人都能用上调试利器Xdebug。

  • 为什么使用 sdebug ?

    在 swoole 官方文档中明确标注 swoole 协程与 一些PHP扩展冲突,其中就标明与 Xdebug 会冲突;

    -w803
    -w803
    • 文档中也写了尝试使用 sdebug 进行调试;
  • 怎么安装 sdebug ?

    • 自动安装

    克隆

    • 首先使用 git 命令将 Sdebug 克隆下来

    git clone https://github.com/mabu233/sdebug.git

    • 进入 sdebug 目录

    cd sdebug

    编译

    • 运行以下脚本

    ./rebuild.sh

    这将运行 phpize./configuremake cleanmakemake install

  • 推荐安装方式「手动安装」

  • 运行 phpize

    phpize #「如果 phpize 不在环境变量中,请使用 /path/to/phpize」

  • 配置扩展

    ./configure --enable-xdebug # 或 ../configure --enable-xdebug --with-php-config=/path/to/php-config

  • 执行编译

    • make clean

    • make && make install

  • php.ini 中添加以下配置

    zend_extension="xdebug.so"
    # 可以使用 php -i | grep php.ini 查看 php.ini 的位置

    xdebug.remote_autostart=1
    xdebug.remote_enable=1
    xdebug.remote_connect_back=0
    #xdebug.cli_color=0
    #xdebug.profiler_enable=0
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_port=9999
    xdebug.remote_host=127.0.0.1
    xdebug.idekey=PHPSTORM
    • 注意:有时php.ini命令行和Web服务器的文件是不同的。确保选择正确的一个。
    • 命令行检验 sdebug 是否安装成功

    $ php -v
    PHP 7.3.3 (cli) (built: Mar 8 2019 16:40:07) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.3, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.3, Copyright (c) 1999-2018, by Zend Technologies with Sdebug v2.7.3-dev, Copyright (c) 2002-2019, by Derick Rethans

    • 至此 sdebug 就安装成功了
  • 注意事项

    为了避免 swoole 的检测 xdebug 警告, 扩展注册的名称是 sdebug, 如果想使用 Phpunit CodeCoverage , 需要手动把检测 xdebug 的判断修改成 sdebug
    单步调试: 如果php不是7.3的, 建议使用 sdebug_2_6(https://github.com/mabu233/sdebug/tree/sdebug), sdebug_2_7 可能需要与phpstorm2019搭配使用

  • phpstorm 中配置

    • 首先进入 phpstorm 设置中 Languages&Framworks 中选择 php , 在 CLI Interpreter 中添加 php7.3「版本选择查看上文中的注意事项」
    -w1121
    -w1121
    • Debug 中 Debug port 输入 9999
    -w851
    -w851

    • DBGp Proxy 中填写 IDE key , Host , Port
    -w915
    -w915
    • 重启 phpstorm ,打个断点试一下吧!
  • 又看到熟悉的页面了!bingo!!

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦