首页 > 解决方案 > Xdebug 不调试特定的 WP 插件脚本

问题描述

我正在努力配置 Devilbox、PhpStorm 和 Xdebug 以调试我的 WordPress 插件。我按照 Devilbox 文档正确设置路径映射,Xdebug 配置正确。

我通常可以在某些 PHP 文件中调试 fe:插件设置页面中使用的 PHP 代码(在页面加载获取 DB 条目),但 Xdebug/PhpStorm 无法在不使用浏览器窗口触发代码执行的其他文件中的断点处停止。

Fe:我使用 WP REST API ( wp-json/something/) 在我的子主题中捕获事务回调并将数据转发到我的插件,但 PhpStorm 以某种方式跳过了该文件的断点。该行的代码执行 100%,因为我在下一行记录数据。

Devilbox 的路径映射应该是正确的。我使用 Postman 在本地环境中伪造交易请求。我使用带有调试模式的 Firefox Xdebug 扩展。

有没有人遇到类似的问题?我花了几个小时试图让这个东西以零成功的方式工作。

这是 xDebug PHP 信息:


    xdebug support  enabled
    Version     2.7.0
    IDE Key     PHPSTORM
    Supported protocols
    DBGp - Common DeBuGger Protocol

    Directive   Local Value Master Value
    xdebug.auto_trace   Off Off
    xdebug.cli_color    0   0
    xdebug.collect_assignments  Off Off
    xdebug.collect_includes On  On
    xdebug.collect_params   0   0
    xdebug.collect_return   Off Off
    xdebug.collect_vars Off Off
    xdebug.coverage_enable  On  On
    xdebug.default_enable   On  On
    xdebug.dump.COOKIE  no value    no value
    xdebug.dump.ENV no value    no value
    xdebug.dump.FILES   no value    no value
    xdebug.dump.GET no value    no value
    xdebug.dump.POST    no value    no value
    xdebug.dump.REQUEST no value    no value
    xdebug.dump.SERVER  no value    no value
    xdebug.dump.SESSION no value    no value
    xdebug.dump_globals On  On
    xdebug.dump_once    On  On
    xdebug.dump_undefined   Off Off
    xdebug.extended_info    On  On
    xdebug.file_link_format no value    no value
    xdebug.filename_format  no value    no value
    xdebug.force_display_errors Off Off
    xdebug.force_error_reporting    0   0
    xdebug.gc_stats_enable  Off Off
    xdebug.gc_stats_output_dir  /tmp    /tmp
    xdebug.gc_stats_output_name gcstats.%p  gcstats.%p
    xdebug.halt_level   0   0
    xdebug.idekey   PHPSTORM    PHPSTORM
    xdebug.max_nesting_level    256 256
    xdebug.max_stack_frames -1  -1
    xdebug.overload_var_dump    2   2
    xdebug.profiler_aggregate   Off Off
    xdebug.profiler_append  Off Off
    xdebug.profiler_enable  Off Off
    xdebug.profiler_enable_trigger  Off Off
    xdebug.profiler_enable_trigger_value    no value    no value
    xdebug.profiler_output_dir  /tmp    /tmp
    xdebug.profiler_output_name cachegrind.out.%p   cachegrind.out.%p
    xdebug.remote_addr_header   no value    no value
    xdebug.remote_autostart Off Off
    xdebug.remote_connect_back  Off Off
    xdebug.remote_cookie_expire_time    3600    3600
    xdebug.remote_enable    On  On
    xdebug.remote_handler   dbgp    dbgp
    xdebug.remote_host  10.254.254.254  10.254.254.254
    xdebug.remote_log   no value    no value
    xdebug.remote_mode  req req
    xdebug.remote_port  9001    9001
    xdebug.remote_timeout   200 200
    xdebug.scream   Off Off
    xdebug.show_error_trace Off Off
    xdebug.show_exception_trace Off Off
    xdebug.show_local_vars  Off Off
    xdebug.show_mem_delta   Off Off
    xdebug.trace_enable_trigger Off Off
    xdebug.trace_enable_trigger_value   no value    no value
    xdebug.trace_format 0   0
    xdebug.trace_options    0   0
    xdebug.trace_output_dir /tmp    /tmp
    xdebug.trace_output_name    trace.%c    trace.%c
    xdebug.var_display_max_children 128 128
    xdebug.var_display_max_data 512 512
    xdebug.var_display_max_depth    3   3

标签: phpwordpressphpstormxdebug

解决方案


推荐阅读