我尝试在Docker容器中安装XDebug,但收到以下错误:
E: Unable to locate package php-xdebug
这是我的Dockerfile:
FROM php:7.0-apache
RUN a2enmod rewrite
RUN docker-php-ext-install pdo pdo_mysql
RUN apt-get install php-xdebug -y
COPY php.ini /usr/local/etc/php/
COPY . /var/www/html/
当我在计算机上运行相同的命令时,XDebug正在安装,没有任何错误:
apt-get install php-xdebug
问题可能出在哪里?
7条答案
按热度按时间sqougxex1#
我通过在Docker文件中添加以下行来解决这个问题:
l2osamch2#
试试这个:
uqzxnwby3#
从PHP7.4开始,您只需要这个
并添加此行以启用远程调试
ki1q1bka4#
从xdebug版本3开始,配置名称有了突破性的变化。
和配置:
更多信息:https://xdebug.org/docs/upgrade_guide
tyg4sfes5#
对于PHP 7.3,我可以使用mlocati的docker-php-extension-installer安装XDebug。
我的Dockerfile看起来像这样:
我的
docker-compose.yml
包含以下内容,允许使用特殊的host.docker.internal
名称:我的xdebug配置文件
/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
如下所示:更多详情请参见Gist describing my PHP Debugging in Docker setup。
hmae6n7t6#
我在dockerfile中使用了
php8.0-alpine
。我在容器中安装xdebug
时遇到了问题,所以我将映像更改为php8.0-alpine3.13
,并且工作正常。看起来3.14在xdebug方面遇到了一些问题。slwdgvem7#
需要注意的是,使用
xdebug.remote_enable
和xdebug.remote_host
不再正确,因为这些选项在xdebug v3中被重命名,现在您应该使用配置名称:文件: