配置xdebug远程调试php的三种方法(配合phpstorm)

时间:2022-02-15 12:58:38

使用xdebug对PHP进行远程调试是一个php程序员一定要掌握的技能,关于在本机设置xdebug进行调试的方法,请自行百度,下面说一下如何配置远程服务器在开发机上的调试。

首先要在远程服务器上安装xdebug,这个也请自行百度。

  1. 直接指定ip法:
    通过在php.ini中将xdebug.remote_host=127.0.0.1后的ip修改为开发机的ip即可。
    此方法的缺点是仅能指定一台开发机进行远程调试。
  2. 使用ssh隧道连接
    以xshell为例,在开发机的xsehll中建立远程ssh连接,之后选择连接属性->SSH->隧道,添加,类型:Remote(incoming),源主机填写远程服务器ip,端口:9000,目标主机:localhost,端口:9000。
    配置xdebug远程调试php的三种方法(配合phpstorm)
    连接远程主机,就可以调试了。
    此方法的缺点是无法同时支持多个主机进行远程调试,且每个开发机都会有拥有ssh权限。
  3. 使用Komodo Remote Debugging Package配置远程调试
    • 下载Komodo Remote Debugging Packge包中的Python Remote Debugging Client,下载地址http://code.activestate.com/komodo/remotedebugging/。
    • 解压压缩包。
    • 运行:
      • 如果是Komodo IDE 7以下版本的调试包,直接在解压目录中执行 ./bin/pydbgpproxy -i 0.0.0.0:9001 -d 9000 &。
      • 如果是Komodo IDE 8以上版本的调试包,可能需要先安装python库,指令如下:
        export PYTHONPATH=安装路径/pythonlib
        再执行如下指令确认一下库安装是否正确:
        python -c "import dbgp.client; print 'ok'"
        在执行./pydbgpproxy -i 0.0.0.0:9001 -d 9000 &
    • 在phpstorm中,选择Tools->DBGp Proxy->Configuration:
      配置xdebug远程调试php的三种方法(配合phpstorm)

      输入如下内容:
      配置xdebug远程调试php的三种方法(配合phpstorm)

      IDE Key自定义,但是不同的开发机要设置不同的值。Host则为服务器ip。

    • 在chrome内核的服务器上安装Xdebug helper插件,右击Xdebug helper图标:
      配置xdebug远程调试php的三种方法(配合phpstorm)

      选择Other,输入在PHP Storm中输入的IDE Key:
      配置xdebug远程调试php的三种方法(配合phpstorm)

      选择Tools->DBGP Proxy->Register IDE
      配置xdebug远程调试php的三种方法(配合phpstorm)
      看到如下标志,就可以进行调试了。
      配置xdebug远程调试php的三种方法(配合phpstorm)

    • 此方法的优点:

      • 可以支持多个开发机进行远程调试。
      • 无需开发机有ssh权限。
    • 此方法的缺点:
      • 配置较复杂。
      • 在不需要调试时,不能只关闭PHP Storm调试开关,而是要在浏览器端将Xdebug helper设置成Disable状态,否则会出现浏览器无响应。
      • 偶尔服务器端Remote Debugging Client会停止工作,需要手工启动。