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被安装。