PHP-FPMのAlpineイメージを介したGd Jpegサポートの取得に問題があります。これを機能させるために、考えられるあらゆる組み合わせを試しました。以下は、私のDockerfileからの抜粋です。
_FROM php:7.1-fpm-Alpine
RUN apk update \
&& apk upgrade \
&& apk add --no-cache \
freetype \
libpng \
libjpeg-turbo \
freetype-dev \
libpng-dev \
jpeg-dev \
libjpeg \
libjpeg-turbo-dev \
RUN docker-php-ext-configure Gd \
--with-freetype-dir=/usr/lib/ \
--with-png-dir=/usr/lib/ \
--with-jpeg-dir=/usr/lib/ \
--with-Gd
RUN NUMPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
&& docker-php-ext-install -j${NUMPROC} Gd
_
コンテナーにシェルしてphp -r 'print_r(Gd_info());'
を実行すると、次のようになります。
_Array
(
[Gd Version] => bundled (2.1.0 compatible)
[FreeType Support] =>
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPEG Support] =>
[PNG Support] => 1
[WBMP Support] => 1
[XPM Support] =>
[XBM Support] => 1
[WebP Support] =>
[JIS-mapped Japanese Font Support] =>
)
_
[JPEG Support]には空の値があります。 _/usr/lib/
_を次のように置き換えてみました:
/usr/
_/usr/include/
_成功しませんでした。問題は、Composerを介してMagento 2をインストールしようとすると、エラーが発生することです。
_Warning: call_user_func() expects parameter 1 to be a valid callback, function 'imagecreatefromjpeg' not found or invalid function name in /var/www/html/vendor/magento/framework/Image/Adapter/Gd2.php on line 65'.
_
誰かがこれを経験しましたか?そうであれば、どうやってそれを解決しましたか?
ありがとうございました
最初のRUNコマンドの最後のスラッシュを削除して確認できますか?
FROM php:7.1-fpm-Alpine
RUN apk update \
&& apk upgrade \
&& apk add --no-cache \
freetype \
libpng \
libjpeg-turbo \
freetype-dev \
libpng-dev \
jpeg-dev \
libjpeg \
libjpeg-turbo-dev
RUN docker-php-ext-configure Gd \
--with-freetype-dir=/usr/lib/ \
--with-png-dir=/usr/lib/ \
--with-jpeg-dir=/usr/lib/ \
--with-Gd
RUN NUMPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
&& docker-php-ext-install -j${NUMPROC} Gd
これは、Linux Alpineを使用した私の作業イメージです。
FROM php:7-fpm-Alpine
# Install all dependencies.
RUN apk --no-cache update \
&& apk --no-cache upgrade \
&& apk add --no-cache $PHPIZE_DEPS \
freetype \
freetype-dev \
libjpeg-turbo \
libjpeg-turbo-dev \
libpng \
libpng-dev && \
docker-php-ext-configure Gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/ && \
docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) Gd && \
...