XDEBUG始终运行,不仅仅是在GET请求上运行

时间:2017-01-04 14:48:54

标签: php xdebug

标题不是我最好的;我想知道每次在本地服务器上执行脚本时如何运行XDEBUG,我可以访问您需要的所有配置文件,XDEBUG PHP目前快乐地跑。

唯一的事情是它只在GET的{​​{1}}密钥形成时才会运行XDEBUG_PROFILE设置为true,或者只是设置,并且当前正在使用我正在处理的框架,

  1. 该框架不允许在URL中发出扩展GET个请求,只显示与slug相关的数据,

  2. 如果我尝试在框架上的文件中设置$_GET['XDEBUG_PROFILE'] = true,例如Controller,则探查器会提供异常数据,并在favicon等其他请求上创建配置文件} load等等,它提供了难以筛选的数据。

  3. 所以我认为能够在每个脚本上触发XDEBUG是一个 智能 的想法,就在我在框架上进行开发时获得绩效记录等......

    XDEBUG中我当前的php.ini个配置:

    [XDebug]
    ;;;;;;;;;;;;;;;;;;
    
    extension=php_xdebug.dll
    xend_extension_ts="C:/xampp/apache/modules/php_xdebug-2.4.1-5.6-vc11.dll"
    
    zend_extension = "\xampp\php\ext\php_xdebug.dll"
    xdebug.collect_vars = 1
    xdebug.show_local_vars = 1
    xdebug.collect_params = 4
    xdebug.remote_enable = 1
    xdebug.remote_connect_back = 1
    
    xdebug.profiler_enable = 1
    xdebug.profiler_output_dir = "\xampp\tmp\"
    xdebug.profiler_output_name = "cachegrind.out.%u.%R"
    xdebug.profiler_enable_trigger = 1
    
    xdebug.remote_host=127.0.0.1
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    

    我试图对此进行搜索,但唯一的教程是如何实际设置XDEBUG本身,我已经完成了,我认为已更改的变量为xdebug.profiler_enable_trigger = 1,但不是'完全确定。

    提前致谢!

1 个答案:

答案 0 :(得分:13)

将此行添加到php.ini

xdebug.remote_autostart = 1
  

通常,您需要使用特定的HTTP GET / POST变量来启动远程调试(请参阅远程调试)。当此设置设置为1时,即使GET / POST / COOKIE变量不存在,Xdebug也将始终尝试启动远程调试会话并尝试连接到客户端。

https://xdebug.org/docs/remote