php - 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
解决方案
推荐阅读
- python - NoReverseMatch at / Reverse for 'single_product' 未找到任何参数。尝试了 1 种模式:['products/(?P
)/$'] - python - 使用 py2neo 驱动程序,如何使用 for 循环从列表中创建节点?
- symfony - 如何避免终端捕获错误而不是 Symfony 分析器
- generics - 如何使用嵌套泛型编写扩展函数?
- react-native - 如何在没有博览会的情况下在本地哨兵中上传源地图
- r - 如何在 R 中使用 tidyjson 处理嵌套的空 JSON 数组
- mysql - 使用 SQL 计算特定事件发生的百分比
- http-headers - 由于内容安全政策,Google 字体无法加载
- react-native - 在 react-navigation v3 上,没有导航道具分派的导航不是一个功能
- rxjs - 如何在管道中获取返回值?