路漫漫其修远兮,吾将上下而求索

0%

xdebug特定环境配置

配置环境

chrome

phpstudy 8.0.9.3

  • 此法只适合文件在网站根目录,因此需要自己配置添加网站,将要调试的项目放在此目录
  • php 7.3.4

phpstorm2019

浏览器chrome配置

下载 Xdebug-helper

phpstudy

  1. 在此版本phpstudy中,只有php7.3.4中有php_xdebug扩展.开启此扩展。

  2. 找到对应php.ini文件。

  3. 重要:搜索文件找到开启的extension项:extension:php_xdebug;注释掉。因为phpstudy开启这个扩展,但需要的是zend_extension

  4. 以下内容添加到php.ini尾部

    1
    zend_extension=xdebug
    2
    [XDebug]
    3
    ;调试功能模块儿
    4
    ;extension=php_xdebug.dll
    5
    ;下面是php_xdebug在phpstudy中的位置,根据情况修改,重要!!!!
    6
    zend_extension = "D:\phpstudy\Extensions\php\php7.3.4nts\ext\php_xdebug.dll"
    7
    xdebug.remote_handler=dbgp
    8
    xdebug.idekey= "PHPSTORM"
    9
    ;开启远程调试
    10
    xdebug.remote_enable = On
    11
    ;远程主机
    12
    xdebug.remote_host=localhost
    13
    ;主机端口,重要!!!!
    14
    xdebug.remote_port=9001
    15
    ;开启自动跟踪
    16
    xdebug.auto_trace = On
    17
    ;开启异常跟踪
    18
    xdebug.show_exception_trace = On
    19
    ;开启远程调试自动启动
    20
    xdebug.remote_autostart = On
    21
    ;收集变量
    22
    xdebug.collect_vars = On
    23
    ;收集返回值
    24
    xdebug.collect_return = On
    25
    ;收集参数
    26
    xdebug.collect_params = On
    27
    ;临时跟踪信息输出,按需修改
    28
    ;xdebug.trace_output_dir="D:\phpstudy\Extensions\php\php7.3.4nts\tmp"
    29
    ;显示局部变量
    30
    xdebug.show_local_vars = On
    31
    xdebug.profiler_enable = On
    32
    ;xdebug.profiler_output_dir ="D:\phpstudy\Extensions\php\php7.3.4nts\tmp"
    33
    xdebug.trace_enable_trigger =On
  5. 重启apache服务

phpstorm配置

注意

每步配置完成后需点击右下角:Apply!!!

php解释器配置

File->Setting->Language&Frameworks->PHP

php版本7.3.4。其他的正常配置解释器即可。

debug配置

File->Setting->Language&Frameworks->PHP->Debug

此步只需更改X-debug port为9001,即第二步在php.ini中配置项为xdebug.remote_port的值

DBGp Proxy配置

File->SFetting->Language&Frameworks->PHP->Debug->DBGp Proxy

1
IDE key:PHPSTORM
2
//第二步在php.ini中配置项为xdebug.idekey的值
3
HOST:http://test.com
4
//为要调试的项目配置的网站。
5
//不要用类似于http://localhost/test/test.php
6
Port:80
7
//服务器的监听地址

File->SFetting->Language&Frameworks->PHP->Server

  1. 点加号添加,Name随便,下面要用。
  2. Host填调试项目网站。eg:http://test.com
  3. Port:80
  4. Debugger:Xdebug

最终调试前配置

Run->Edit Configurations

  1. 点击+
  2. 选择Php Web Page
  3. Name随便
  4. Server选择上一步添加Server的Name
  5. Start URL: http://test.com
  6. Browser: Chrome

配置完毕

食用

浏览器的Xdebuger helper选择Debug

phpstorm点击右上角电话图标开始监听

phpstorm点击右上角甲壳虫图标开始调试

注意不能浏览器直接访问,要点击甲壳虫图标

如果浏览器访问时,url参数含有XDEBUG_SESSION_START=XXXXX参数,cookie中有 XDEBUG_SESSION =PHPSTORM则成功

后续调试超时问题

调试时,还没调试几十秒钟就超时了。设置一下。

找到httpd.conf

查找 LoadModule fcgid_module modules/mod_fcgid.so模块,保证不被注释

在末尾添加以下配置

1
<IfModule fcgid_module>
2
 FcgidProcessLifeTime 8200
3
 FcgidIOTimeout 8200
4
 FcgidConnectTimeout 4000
5
 </IfModule>