composer php没有看到GD扩展

我已经在Docker机器上安装了GD,如https://hub.docker.com/_/php/所述:

RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng12-dev \ && docker-php-ext-install -j$(nproc) iconv mcrypt \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd 

适用于PHP 7和PHP 5.6。 它工作没有问题(我可以操纵图像),但我现在想安装一些需要"ext-gd": "*",composer php包,问题是这样的:

 php -m 

显示gd加载但是

 composer show -p 

不显示ext-gd所以我不能安装我需要使用composer php的软件包。 有什么办法可以安装GD让Composer看到它?

我在这里发现了类似的问题: https : //github.com/composer/composer/issues/4353,但是没有解决就closures了。 另外composer php依赖,说明没有php-xsl没有解决。

作为参考,我已经validation了Homestead,那里的composer show -p显示ext-gd没有问题,我的本地主机(Windows)的工作。

所以我发现唯一的问题是Docker的安装。 你有什么线索怎么解决?

问题不是直接的composer php,而是我用它的方式。

我把Composer安装在/usr/local/bin/composer但是像这样创build了别名:

 alias composer="php -n /usr/local/bin/composer" 

运行作曲者时不要使用Xdebug。

但事实上,当运行composer的时候,所有的PHP扩展都被禁用,所以当composer尝试安装任何需要GD2的软件包时,并没有看到GD2被安装。

Interesting Posts