如何修复docker-php-ext-enable:当Dockerfile是FROM-debian:10时找不到



我想升级到xdebug 3,目前已经安装了xdebug 2。

Dockerfile以为明星

FROM debian:10

我添加了行

RUN pecl install xdebug && docker-php-ext-enable xdebug

我在构建时出错

Installing '/usr/lib/php/20170718/xdebug.so'
install ok: channel://pecl.php.net/xdebug-3.1.5
configuration option "php_ini" is not set to php.ini location
You should add "zend_extension=/usr/lib/php/20170718/xdebug.so" to php.ini
/bin/sh: 1: docker-php-ext-enable: not found
The command '/bin/sh -c pecl install xdebug && docker-php-ext-enable xdebug' returned a non-zero code: 127

关于xdebug.so的部分不是红色的。但是dockerphp-ext-enable:notfound是红色的。所以我不知道为什么它写我应该添加xdebug.So而不是红色的。

但是还有一个用于xdebug2的文件docker/apache/conf/php/xdebug/20-xdebug.ini,其中有一行

zend_extension=xdebug.so

所以再次不清楚它为什么写添加它。

也尝试过:

docker-compose build --no-cache

但得到相同的错误

/bin/sh: 1: docker-php-ext-enable: not found

我也尝试过这个片段来安装xdebug 3

RUN apk add --no-cache --virtual .build-deps $PHPIZE_DEPS && 
pecl install xdebug && 
docker-php-ext-enable xdebug && 
printf "xdebug.mode=develop,debug n
xdebug.client_host=host.docker.internal n
xdebug.start_with_request=yes n" >> /etc/php/$PHP_VERSION/cli/conf.d/20-xdebug.ini && 
apk del .build-deps && 
rm -Rf /tmp/*

但它没有起作用,可能是因为debian和我不知道如何解决这个问题。只要我能安装xdebug3并启用,我就可以使用该解决方案。看起来需要更改

RUN apk add --no-cache --virtual .build-deps $PHPIZE_DEPS

但不确定如何。

如前所述,使用Debian包管理器

FROM debian:10
sudo apt-get install php-xdebug

注意

对于包名称中包含PHP版本的包,例如php81-php-xdebug3,您可以用与您正在运行的PHP版本相匹配。

并且,警告

如果软件包管理器安装的版本不再受支持(请参阅支持的版本(,请使用PECL安装Xdebug,或从源。

pecl install xdebug

xdebug安装

相关内容

  • 没有找到相关文章

最新更新