我已经按照https://hub.docker.com/_/php/中的描述在Docker机器上安装了GD,使用:
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 -m 显示gd已加载,但
composer show -p没有显示ext-gd,所以我无法使用composer安装我需要的包。有没有办法安装GD让Composer看到它?
我在这里发现了类似的问题:https://github.com/composer/composer/issues/4353,但它在没有解决的情况下被关闭。此外,composer dependency stating in dont have php-xsl也没有解决。
作为参考,我也验证了Homestead,在那里,composer show -p显示ext-gd没有问题,在我的本地主机(Windows)上它也在工作。
所以我发现的唯一问题是Docker的安装。你知道怎么解决这个问题吗?
发布于 2017-01-29 02:49:20
问题不是直接出在Composer身上,而是我使用它的方式。
我在/usr/local/bin/composer中安装了Composer,但创建的别名如下:
alias composer="php -n /usr/local/bin/composer"在运行composer时不使用Xdebug。
但实际上,这导致在运行composer时所有的PHP扩展都被禁用,所以当composer试图安装任何需要GD2的包时,它没有看到GD2已安装。
https://stackoverflow.com/questions/39581461
复制相似问题