2016-09-19 88 views
1

如使用https://hub.docker.com/_/php/描述我泊塢窗機上安裝GD:作曲家不看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": "*",一些作曲家包,問題是這樣的:

php -m 

給出了GD加載,但

composer show -p 

沒有按」 t顯示ext-gd,所以我不能安裝我需要使用作曲家的軟件包。有沒有辦法安裝GD讓Composer看到它?

我在這裏發現了類似的問題:https://github.com/composer/composer/issues/4353但它沒有解決就關閉了。 composer dependency stating in dont have php-xsl也沒有解決。

僅供參考我已驗證宅基地有composer show -p顯示ext-gd沒有問題也在我的本地主機(Windows)它的工作。

所以我發現的唯一問題是Docker的安裝。你有什麼線索怎麼解決?

+2

繞過你的問題--ignore-platform-reqs –

+0

你在碼頭集裝箱內運行作曲家嗎? – ivoba

+0

@ivoba是的,我做 –

回答

0

問題不是直接的作曲家,而是我用它的方式。

我已經安裝在/usr/local/bin/composer作曲家,但創造的別名,像這樣:

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

運行作曲家時不使用Xdebug的。

但實際上這是導致所有PHP擴展在運行composer時被禁用,所以當composer試圖安裝任何需要GD2的軟件包時,它沒有看到GD2被安裝。