【发布时间】:2020-09-08 15:06:42
【问题描述】:
我刚刚通过关注the Xdebug part of this guide 在 Mac Catalina 10.15.4 上安装了 Xdebug。一切顺利,我在安装 Xdebug 时没有遇到任何错误,但由于某种原因,Xdebug 会话在通过 PhpStorm 启动时永远不会启动。
我遵循的步骤是
sphp 7.3pecl uninstall -r xdebugpecl install xdebug- 从我的
usr/local/etc/php/7.3/php.ini顶部删除了zend_extension="xdebug.so"行 - 使用所需的 Xdebug 配置创建文件
/usr/local/etc/php/7.3/conf.d/ext-xdebug.ini
/usr/local/etc/php/7.3/conf.d/ext-xdebug.ini的内容
[xdebug]
zend_extension="xdebug.so"
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_port=9000
phpinfo();的内容
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.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 /var/tmp/ /var/tmp/
xdebug.gc_stats_output_name gcstats.%p gcstats.%p
xdebug.halt_level 0 0
xdebug.idekey no value no value
xdebug.max_nesting_level 256 256
xdebug.max_stack_frames -1 -1
xdebug.overload_var_dump 2 2
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 /var/tmp/ /var/tmp/
xdebug.profiler_output_name cachegrind.out.%p cachegrind.out.%p
xdebug.remote_addr_header no value no value
xdebug.remote_autostart On On
xdebug.remote_connect_back Off Off
xdebug.remote_cookie_expire_time 3600 3600
xdebug.remote_enable On On
xdebug.remote_host localhost localhost
xdebug.remote_log no value no value
xdebug.remote_log_level 7 7
xdebug.remote_mode req req
xdebug.remote_port 9000 9000
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 /var/tmp/ /var/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
还有php -v
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.20, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.20, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.9.6, Copyright (c) 2002-2020, by Derick Rethans
【问题讨论】:
-
1) 启用
xdebug.remote_log并收集和共享此类不成功调试会话的日志:它会告诉它尝试连接的位置(如果它确实连接)以及响应是什么。 2) 请记住,在 Linux 和 Mac 上,CLI 和 Web 服务器使用不同的 php 设置(不同的配置文件)是很常见的。因此,请确保您使用与尝试调试相同的方式捕获 phpinfo 输出。 -
非常小的旁注:您有“remote_autostart On”但您的 .ini 没有这样的行。这表明复制+粘贴中缺少一行 .. 或者您可能有多个提供 xdebug 设置的位置(默认情况下该选项为关闭)
-
在阅读了一些无法让 Xdebug 工作的人的教程后,我拼命地将
xdebug.remote_autostart=1添加到/usr/local/etc/php/7.3/conf.d/ext-xdebug.ini。这应该可以解释缺少的行。