• [xDebug] PhpStorm Xdebug远程调试环境搭建


    对于简单的工程,直接print_r();exit()已经足够,但是对于大型项目有时就有点力不从心。、

    1,环境介绍

    本地:windows10(192.168..)+ phpstorm8
    远程:Centos7(192.168.237.8)+ nginx+ php5

    2 远程环境配置

    2.2 xdebug安装

      Centos7下直接apt-get安装,安装命令如下:apt-get install php5-xdebug

    2.3 配置

    首先通过locate定位到php7.ini,

    [Xdebug]
    zend_extension=xdebug.so
    xdebug.idekey=PHPSTORM
    xdebug.remote_connect_back = 1
    ;//如果开启此,将忽略下面的 xdebug.remote_host 的参数
     
    ;xdebug.remote_host=192.168.x.x
    ; //注意这里是,客户端的ip<即IDE的机器的ip,不是你的web server>
     
    xdebug.remote_enable=on
    xdebug.remote_port = 9001
    ;//注意这里是,客户端的端口<即IDE的机器的ip,不是你的web server>
     
    xdebug.remote_handler = dbgp
    xdebug.auto_trace = 1
    xdebug.remote_log = /tmp/xdebug.log

    3 本地phpstorm配置

    3.1 下载远程代码

    phpstorm在新建项目的时候提供了选项,可以通过ftp/sftp远程下载代码,直接按照提示下一步下一步就可以。

    3.2 添加php解释器

    通过file->settings->Languages & Frameworks找到php栏,

    3.3 配置Debug

    路径还是在file->settings->Languages & Frameworks->PHP,选择Debug,选择要监听的端口,这里设置为9001,如图所示:

    设置完端口还需要设置DBGp Proxy,配置如下:

    在设置完Debug页面后,在DBGp Proxy页面的端口已经确定,添加上IDE key为刚才xdebug配置文件设置的key:PHPSTORM,Host则为要调试的远程主机。

    3.4 配置Server

    通过通过file->settings->Languages Frameworks->PHP找到Servers,Host对应远程主机IP,Debugger选用Xdebug,如果是远程调试,一定得开启路径映射功能,否则无法调试,本地的路径不用选,在新建远程项目的时候就已经确定,Absolute path on the server则是远程主机的Web路径。在途中红框上方有一个Validate remote environment可以用来验证远程的Xdebug配置,如果配置明显不对的话,会有提示信息,可按照提示信息修改远程服务器的xdebug配置。

    3.5 配置调试选项

    由于调试的目标是一个项目,所以这里需要设置PHP Web Application,配置中Server:远程目标主机,Start URL设为/,设置完之后会在左侧新建一个PHP Web Application

    到目前为止,该配置的都已经配置完成,这里面配置的选项比较多,一步一步配置,有顺序要求。配置完之后就是调试。点击下图右边红框中的小按钮,打开xdebug监听,再选择我们要调试的目标,这里是server,最后点击那个调试按钮,就能开启调试之旅。

    打开xdebug监听的时候,可以看到IDE已经在本地建立监听服务,具体如下:

    可以看到调试页面。如下所示

    3.6 浏览器添加书签或者Xdebug Helper

    面描述的是通过PHPStorm的debug按钮,发送类似?XDEBUG_SESSION_START=17212这种请求调起浏览器来达到调试的目的,但是这种方式只能调起首页,存在缺陷。下面介绍另外一种启动调试的方式,就是通过浏览器中带XDEBUG_SESSION
    的cookie直接发起,可以安装Chrome插件Xdebug Helper或者添加浏览器的调试插件、或书签来达到目的。新建书签的url:https://www.jetbrains.com/phpstorm/marklets/,这里就不再做示例,插件和书签的原理都是一样的,都是在cookie中添加XDEBUG_SESSION=PHPSTORM。

  • 相关阅读:
    C语言结构体+公用体+枚举训练
    TIFF图像文件格式详解
    Professional CUDA C Programming的代码实例1.1
    C语言数组强化训练
    C语言字符数组与字符串
    文件操作
    MATLAB 与Modelsim之间对测试系统的联合仿真
    FFT实现逆FFT
    眼图——概念与测量(摘记)
    《我的心曾悲伤七次》卡里·纪伯伦
  • 原文地址:https://www.cnblogs.com/feixiablog/p/9209717.html
Copyright © 2020-2023  润新知