我正在使用本課程在 Docker 上設定 Xdebug - 
它在這里啟用-

這是我在 PHPStorm 上的設定的樣子-

這是運行/除錯配置的樣子-

這是我所有的 php 資訊-

這是為了表明我沒有忘記斷點-

我錯過了什么?
編輯:Xdebug 配置


編輯:以文本形式- xdebug
Version => 3.1.2
Support Xdebug on Patreon, GitHub, or as a business:
https://xdebug.org/support
Enabled Features (through 'xdebug.mode' setting)
Feature => Enabled/Disabled
Development Helpers => ? disabled
Coverage => ? disabled
GC Stats => ? disabled
Profiler => ? disabled
Step Debugger => ? disabled
Tracing => ? disabled
Optional Features
Compressed File Support => yes (gzip)
Clock Source => clock_gettime
Directive => Local Value => Master Value
xdebug.auto_trace => (setting renamed in Xdebug 3) => (setting
renamed in Xdebug 3)
xdebug.cli_color => 0 => 0
xdebug.client_discovery_header => no value => no value
xdebug.client_host => host.docker.internal =>
host.docker.internal
xdebug.client_port => 9003 => 9003
xdebug.cloud_id => no value => no value
xdebug.collect_assignments => Off => Off
xdebug.collect_includes => (setting removed in Xdebug 3) =>
(setting removed in Xdebug 3)
xdebug.collect_params => (setting removed in Xdebug 3) =>
(setting removed in Xdebug 3)
xdebug.collect_return => Off => Off
xdebug.collect_vars => (setting removed in Xdebug 3) =>
(setting removed in Xdebug 3)
xdebug.connect_timeout_ms => 200 => 200
xdebug.coverage_enable => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.default_enable => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.discover_client_host => Off => Off
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 => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.gc_stats_output_dir => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.gc_stats_output_name => gcstats.%p => gcstats.%p
xdebug.halt_level => 0 => 0
xdebug.idekey => PHPSTORM => PHPSTORM
xdebug.log => no value => no value
xdebug.log_level => 7 => 7
xdebug.max_nesting_level => 256 => 256
xdebug.max_stack_frames => -1 => -1
xdebug.mode => no value => no value
xdebug.output_dir => /tmp => /tmp
xdebug.overload_var_dump => (setting removed in Xdebug 3) =>
(setting removed in Xdebug 3)
xdebug.profiler_append => Off => Off
xdebug.profiler_enable => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.profiler_enable_trigger => (setting renamed in Xdebug 3)
=> (setting renamed in Xdebug 3)
xdebug.profiler_enable_trigger_value => (setting renamed in
Xdebug 3) => (setting renamed in Xdebug 3)
xdebug.profiler_output_dir => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.profiler_output_name => cachegrind.out.%p =>
cachegrind.out.%p
xdebug.remote_autostart => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.remote_connect_back => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.remote_enable => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.remote_host => (setting renamed in Xdebug 3) => (setting
renamed in Xdebug 3)
xdebug.remote_log => (setting renamed in Xdebug 3) => (setting
renamed in Xdebug 3)
xdebug.remote_log_level => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.remote_mode => (setting renamed in Xdebug 3) => (setting
renamed in Xdebug 3)
xdebug.remote_port => (setting renamed in Xdebug 3) => (setting
renamed in Xdebug 3)
xdebug.remote_timeout => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
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 => (setting removed in Xdebug 3) =>
(setting removed in Xdebug 3)
xdebug.start_upon_error => default => default
xdebug.start_with_request => default => default
xdebug.trace_enable_trigger => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.trace_enable_trigger_value => (setting renamed in Xdebug
3) => (setting renamed in Xdebug 3)
xdebug.trace_format => 0 => 0
xdebug.trace_options => 0 => 0
xdebug.trace_output_dir => (setting renamed in Xdebug 3) =>
(setting renamed in Xdebug 3)
xdebug.trace_output_name => trace.%c => trace.%c
xdebug.trigger_value => no value => no value
xdebug.use_compression => 1 => 1
xdebug.var_display_max_children => 128 => 128
xdebug.var_display_max_data => 512 => 512
xdebug.var_display_max_depth => 3 => 3
當我嘗試驗證時的樣子 -

uj5u.com熱心網友回復:
由于您使用的是 Linux/Ubuntu,因此host.docker.internal主機條目可能未在您的本地計算機上設定,這意味著 Xdebug 將無法將 Docker 視為要連接的服務器。
這應該可以通過向/etc/hosts包含 Docker 網路 IP 值的本地計算機檔案添加一個條目來解決。
您可以通過運行來檢索 Docker 網路 IP:
docker network inspect bridge --format='{{(index .IPAM.Config 0).Gateway}}'
然后,假設該值為172.17.0.1,您可以/etc/hosts像這樣添加條目:
172.17.0.1 host.docker.internal
這host.docker.internal會將主機名系結到您的 Docker 守護程式,因此現在 Xdebug 將能夠連接到它。
uj5u.com熱心網友回復:
雖然我不能確切地說是什么問題,但我建議進行以下更改:
- 確保“運行”選單具有以下選單項:
。 - 洗掉
Filter debug connection by IDE key配置。如果您有多個需要訪問不同環境的網站,IDE 密鑰會有些用處,但我猜這對您來說不是問題。 - 啟用
Break at first line in PHP scripts。
此處的故障排除部分可能有一些其他想法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/377232.html
