我对Xdebug有问题,这是我的Docker配置:
Dockerfile
FROM php:8.1.10-fpm-alpine
RUN apk update
RUN apk add php81-dev gcc make g++ zlib-dev icu-dev bash git openssl yaml-dev
RUN pecl channel-update pecl.php.net
# For YAML
RUN apk add --update --no-cache \
yaml && \
# Build dependancy for YAML \
apk add --update --no-cache --virtual .yaml-build \
yaml-dev && \
pecl install yaml && \
docker-php-ext-enable yaml; \
apk del .yaml-build
# For Xdebug
RUN pecl install xdebug
RUN docker-php-ext-enable xdebug
RUN echo "xdebug.mode=coverage" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
# For code coverage
RUN echo "memory_limit=-1" >> /usr/local/etc/php/conf.d/docker-php-memory-limit.ini
COPY --from=composer /usr/bin/composer /usr/bin/composer
SHELL ["/bin/bash", "-c"]
WORKDIR /var/www/htmldocker-compose.yml
version: '3'
services:
php:
build:
context: ./
dockerfile: Dockerfile
volumes:
- "./:/var/www/html"
- "~/.composer:/root/.composer"当我检查我的Docker映像的PHP信息时,一切似乎都是正确的:
PHP 8.1.10 (cli) (built: Sep 1 2022 21:43:31) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.10, Copyright (c) Zend Technologies
with Xdebug v3.1.5, Copyright (c) 2002-2022, by Derick Rethans在PhpStorm中,我使用Docker选项正确地设置了远程PHP解释器。
问题在于:

显示的错误:
无法解析PHPUnit版本输出: Xdebug: Config设置'xdebug.remote_enable‘已被重命名,请参阅https://xdebug.org/docs/upgrade_guide#changed-xdebug.remote_enable (见:https://xdebug.org/docs/errors#CFG-C-CHANGED) PHPUnit 9.5.25 #StandWith乌克兰的升级指南
由于这个错误,我无法在PHPUnit模式下运行coverage模式的PhpStorm。
错误来自我的Dockerfile中的这一行:
RUN docker-php-ext-enable xdebug如果我删除它,我的PHP配置就没有Xdebug:
PHP 8.1.10 (cli) (built: Sep 1 2022 21:39:29) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.10, Copyright (c) Zend Technologies使用PHPStorm,我可以在没有错误的情况下启动单元测试,但是,我无法访问单元测试的覆盖范围。
如果我从我的Dockerfile中删除了RUN docker-php-ext-enable xdebug,就不会激活PHPStorm,因此我无法使用PHPStorm查看测试所涵盖的文件。
当我试图在PHPStorm上运行覆盖范围的单元测试时:

你能帮帮我吗?
发布于 2022-09-26 09:24:58
--如果我删除它,就不会激活Xdebug,所以我不能用PHPStorm查看我的测试所涵盖的文件。
这样做是不对的,如果您希望在Xdebug 3中同时包含覆盖率和步骤调试器,则需要更改:
RUN echo "xdebug.mode=coverage" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
至:
RUN echo "xdebug.mode=coverage,debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
并将xdebug.remote_enable设置从设置它的位置移除。
https://stackoverflow.com/questions/73852029
复制相似问题