1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
      <output id="hzk7v"></output>
    2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
    3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

      一文掌握PHP Xdebug 本地与远程调试(小结)

       更新时间2019年04月23日 09:11:23   作者许杨淼淼 醉程序   我要评论

      这篇文章主要介绍了一文掌握PHP Xdebug 本地与远程调试(小结)小编觉得挺不错的现在分享给大家也给大家做个参考一起跟随小编过来看看吧

      很久没写PHP了同样很很久没有用XDebug了近期有个简单的场景要用到简单记录一下关键步骤

      本地调试

      本地环境:

      $ php -v
      PHP 7.3.4 (cli) (built: Apr 8 2019 10:21:33) ( NTS )
      Copyright (c) 1997-2018 The PHP Group
      Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies
        with Zend OPcache v7.3.4, Copyright (c) 1999-2018, by Zend Technologies
        with Xdebug v2.7.1, Copyright (c) 2002-2019, by Derick Rethans

      环境搭建

      // 安装xdebug
      $ pecl install xdebug
      // 配置xdebug
      $ vim /usr/local/etc/php/7.3/conf.d/ext-xdebug.ini
      [xdebug]
       zend_extension="xdebug.so"
       xdebug.remote_enable=On
       xdebug.remote_port=9001
       xdebug.idekey=PHPSTORM
       xdebug.remote_connect_back = 1
      // 重启php服务
      $ brew services restart [email protected]

      IDE 配置

      我是在~/Downloads/xdebug/ 目录下放了一个简单的PHP文件test.php来测试在这个目录下用php -S 127.0.0.1:7790起了个http服务可参考进行下述配置

      IDEA的几个配置项




      开启监听

      效果演示

      设置之后, 在IDE里打上?#31995;? 在浏览器打开这个链接即可开启测试

      http://127.0.0.1:7790/test.php?XDEBUG_SESSION_START=PHPSTORM

      效果如下:

      浏览器没有必要安装 Xdebug Helper 插件

      远程调试

      与上一篇联动, 本篇是远程调试, 主要记录一下过程

      本地环境:

      # php -v
      PHP 7.2.16 (cli) (built: Mar 10 2019 21:22:49) ( NTS )
      Copyright (c) 1997-2018 The PHP Group
      Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
        with Xdebug v2.8.0-dev, Copyright (c) 2002-2019, by Derick Rethans

      环境搭建

      // 如果没有安装过需要先行安装
      # yum install -y php-devel gcc
      
      // 安装xdebug
      # cd /usr/local/src
      # git clone https://github.com/xdebug/xdebug.git
      # cd xdebug
      # ./rebuild.sh
      // xdebug配置文件
      # vim /etc/php.d/xdebug.ini
      
      zend_extension=xdebug.so
      xdebug.remote_enable=On
      xdebug.remote_port=11955
      xdebug.idekey=PHPSTORM
      // 重启PHP服务
      # systemctl restart php-fpm
      # systemctl status php-fpm

      然后重点来了一定不要忘记开放上面配置的xdebug.remote_port端口号开放此端口号开放此端口号开放此端口号

      开放端口每个系统都不太一样在CentOS7中可以使用firewall-cmd来操作

      # firewall-cmd --zone=public --add-port=11955/tcp --permanent
      # firewall-cmd --reload

      IDE 配置

      IDE的配置与本地调试不太一样总的来说有两种方式一种是通过在IDE配置Remote Debug, 需要配置登录远端服务器一种是通过ssh来做远程端口转发到本地来实现类似本地调试的方式
      在这里我选用了后一种方式来操作

      远程端口转发

      // HOST 为远程服务器在~/.ssh/config的配置host名, 可以替换为你的 比如 [email protected]
      ssh -NT -R 11955:127.0.0.1:9001 HOST

      这样就实现了远程xdebug端口11955到本地9001的映射

      IDE配置

      与本地调试的配置不一样的地方就是host和port其他地方大同小异

      IDEA-PHP-Servers的配置:

      host 为远程web服务的域名, port 为远程web提供服务的端口号

      同时需要注意的是需要勾选 path mappings, 并正确配置要debug的工程目录在远程和本地两个环境的映射关系

      IDEA-PHP-XDebug-DBGp-Proxy的配置:

      更改hostport为远程web服务配置与上一步相同

      效果演示

      设置之后, 在IDE里打上?#31995;? 在浏览器打开这个链接即可开启测试

      http://example.com/test.php?XDEBUG_SESSION_START=PHPSTORM

      效果如下:

      同样的浏览器没有必要安装 Xdebug Helper 插件

      以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家

      相关文章

      最新评论

      3dԻв

        1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
          <output id="hzk7v"></output>
        2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
        3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

            1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
              <output id="hzk7v"></output>
            2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
            3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>