最近我升级到PHP 7.4,无法使Xdebug 2.9.6正常工作。我正在Ubuntu 18.04上运行Apache服务器,并尝试在macOS 10.15.5上使用PhpStorm 2019.1客户端调试PHP代码。我在php.ini
中有以下配置:
zend_extension = /usr/lib/php/20190902/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_log = "/tmp/xdebug.log"
xdebug.remote_port = 9001
然后我在phpinfo()
页面上验证了Xdebug
已启用:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Xdebug v2.9.6, Copyright (c) 2002-2020, by Derick Rethans
with Zend OPcache v7.4.8, Copyright (c), by Zend Technologies
这是phpinfo()
的Xdebug部分
xdebug
xdebug support enabled
Version 2.9.6
Support Xdebug on Patreon, GitHub, or as a business
Debugger enabled
IDE Key PHPSTORM
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.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 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 /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 On On
xdebug.remote_cookie_expire_time 3600 3600
xdebug.remote_enable On On
xdebug.remote_host localhost localhost
xdebug.remote_log /tmp/xdebug.log /tmp/xdebug.log
xdebug.remote_log_level 7 7
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
问题是我通过浏览器发送请求后,Xdebug无法连接到客户端(PhpStorm)或将任何连接活动记录到Web服务器上的日志文件中。
我的配置中是否缺少任何内容?
已解决: 原来服务器上有我没有意识到的防火墙。按照建议的here设置ssh反向隧道进行修复。
答案 0 :(得分:1)
Ubuntu使用“私有临时”目录,因此xdebug.log
日志文件很可能在/tmp/systemd-private*/tmp/
等目录之一中可用。