干系软件版本
xdebug 3.2.1PhpStorm 2022.3.2Docker Desktop 4.23.0前置条件已经安装好docker和phpstorm
官方php镜像一样平常没有默认安装xdebug,以是我们须要添加安装xdebug脚本,在你的`DockerFile`添加如下代码

# xdebugRUN set -ex; \ pecl install xdebug-3.2.1; \ docker-php-ext-enable xdebug;COPY docker-php-ext-xdebug.ini "${PHP_INI_DIR}/conf.d"
添加xdebug的配置文件`docker-php-ext-xdebug.ini`,如下
[xdebug]zend_extension=xdebug.soxdebug.mode=develop,debugxdebug.start_with_request=yesxdebug.discover_client_host=0xdebug.client_host=host.docker.internalxdebug.idekey=PHPSTORMxdebug.client_port="9003"xdebug.log="/var/www/html/log/xdebug.log"
上面配置可以根据自己须要调度,配置参数参考xdebug官方文档
docker-compose.yml 添加extra_hosts
extra_hosts: - "host.docker.internal:host-gateway"
然后重新build你的镜像,重启你的容器就好了,这个时候该当可以在你的phpinfo中看到xdebug了
phpinfo xdebug
phpstorm的配置添加docker
add cocker
添加server
add server
设置debug信息
这里可以进行安装校验,以及debug端口修正,默认9003
set debug
设置dbgp proxy
这里主机利用`host.docker.internal`
set dbgp proxy
利用xdebug
添加php remote debug
php remote debug
现在你就可以利用xdebug了,下图是在WordPress中运行的效果
WordPress中运行效果
希望可以帮助到phper,感谢Derick Rethans的xdebug
更多详细步骤可以去看作者的视频教程,他还供应了vscode vim等编辑器的xdebug利用以及更高阶的操作视频
Derick Rethans的xdebug的视频教程
视频清单如下
PHP: Debugging FFI and PHP
Xdebug 3: Debugging Remote Code with VS Code
Xdebug 3: Skipping Files when Debugging
Xdebug 3.2: Return Value Debugging with PhpStorm
Xdebug 3.1: xdebug_connect_to_client() with VS Code
Xdebug 3: Debugging with VIM and Vdebug
Xdebug 3: Debugging with Atom
Xdebug 3: Laravel Sail with PhpStorm
Xdebug 3: Debugging Unit Tests with PhpStorm
Xdebug 3: Setting up Apache, PHP, VS Code, and Xdebug in 10 minutes
Debugging: Short Closures and Conditional Breakpoints
Xdebug 3.1: Improvements to Step Debugging
Xdebug 3.1: Xdebug Cloud and Multiple Triggers
Xdebug 3.1: xdebug_info() improvements
Xdebug 3.1: File Compression
Xdebug 3: Activation and Triggers
Xdebug 3 Profiling: 3. Analysing Data
Xdebug 3 Profiling: 2. KCachegrind tour
Xdebug 3 Profiling: 1. Setting Up
Xdebug 3: Debugging Symfony Console Commands
Xdebug 3: Code Coverage for Websites
Xdebug 3: Debugging the Symfony Demo App in Docker with VS Code
Xdebug 3: Debugging Unit Tests with PhpStorm on Linux
Xdebug 3: Profiling with Xdebug in Docker
Xdebug 3: Xdebug with Docker and PhpStorm in 5 minutes
Xdebug 3: Diagnostics
Xdebug 3: Modes