Xdebug 3 renamed every setting you knew

Xdebug 3 replaced half a dozen independent toggles with one mode setting, and most documentation still describes the 2.x names.

; 2.x
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.profiler_enable_trigger=1
xdebug.remote_host=host.docker.internal

; 3.x
xdebug.mode=debug,profile
xdebug.start_with_request=trigger
xdebug.client_host=host.docker.internal
xdebug.client_port=9003        ; was 9000

The port change from 9000 to 9003 is the one that costs the most time, because 9000 was also php-fpm’s default port and the collision was the reason for the move. xdebug.mode=off is worth setting in any image where the extension is installed but not wanted, since the overhead of an enabled Xdebug is substantial even when nothing is connected. The old settings are ignored silently rather than reported.