[php-fpm] Docker에서 GD JPEG Support 활성화
일어난 일
Docker에 구축된 Laavel 응용 프로그램 중 4Intervention/image이미지 업로드 기능을 수행할 때 사용Call to undefined function Intervention\Image\Gd\imagecreatefromjpeg()Call to undefined function Intervention\Image\Gd\imagecreatefromjpeg()
이런 실수를 당했습니다.
이 오류는 pg와giff 이미지 업그레이드 중 발생하지 않았습니다
JPEG 이미지를 프로모션할 때만 발생합니다.
오류 문구에서도 보듯이 PHP 확장 모듈 GD에서는 JPEG의 지원이 유효하지 않아 요약했다.
컨디션
・PHP:7.1
・Laavel:5.6
・Docker for mac:1.03.1-ce,build9ee9f40
해결책
1. phpinfo 확인
pg와gif를 지원하지만 jpeg 지원이 없습니다.
Intervention/image는 PHP의 이미지 변환 모듈의 GD에 의존하며 GD가 JPEG를 지원하지 않는 것이 가장 큰 이유입니다.
2. Docker file 편집
편집 전RUN apt-get update \
&& apt-get install -y \
gcc \
make \
libpng-dev \
git \
unzip \
vim \
libmcrypt-dev \
mysql-client \
curl \
gnupg \
&& docker-php-ext-install mcrypt pdo_mysql mysqli mbstring gd zip \
아래와 같이 이 항목을 편집합니다.RUN apt-get update \
&& apt-get install -y \
gcc \
make \
libpng-dev \
git \
unzip \
vim \
libmcrypt-dev \
mysql-client \
curl \
gnupg \
libjpeg-dev \
libfreetype6-dev \
&& docker-php-ext-install mcrypt pdo_mysql mysqli mbstring zip \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
나중에 다시 보내주세요.
3. phpinfo 확인
JPEG 지원은 enable입니다.
이후 JPEG 업로드도 완료됐다.
총결산
저는 PHP 문외한이기 때문에 확장 모듈과 PHP 자체 구성에 대해 잘 모르기 때문에 앞으로 조금 더 주의를 기울여야 할 계기가 됐습니다.
참조:
https://gtrt7.com/blog/wp/docker-img-recov
Reference
이 문제에 관하여([php-fpm] Docker에서 GD JPEG Support 활성화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/takeru56/items/74d3e402660ae4473e88
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
・PHP:7.1
・Laavel:5.6
・Docker for mac:1.03.1-ce,build9ee9f40
해결책
1. phpinfo 확인
pg와gif를 지원하지만 jpeg 지원이 없습니다.
Intervention/image는 PHP의 이미지 변환 모듈의 GD에 의존하며 GD가 JPEG를 지원하지 않는 것이 가장 큰 이유입니다.
2. Docker file 편집
편집 전RUN apt-get update \
&& apt-get install -y \
gcc \
make \
libpng-dev \
git \
unzip \
vim \
libmcrypt-dev \
mysql-client \
curl \
gnupg \
&& docker-php-ext-install mcrypt pdo_mysql mysqli mbstring gd zip \
아래와 같이 이 항목을 편집합니다.RUN apt-get update \
&& apt-get install -y \
gcc \
make \
libpng-dev \
git \
unzip \
vim \
libmcrypt-dev \
mysql-client \
curl \
gnupg \
libjpeg-dev \
libfreetype6-dev \
&& docker-php-ext-install mcrypt pdo_mysql mysqli mbstring zip \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
나중에 다시 보내주세요.
3. phpinfo 확인
JPEG 지원은 enable입니다.
이후 JPEG 업로드도 완료됐다.
총결산
저는 PHP 문외한이기 때문에 확장 모듈과 PHP 자체 구성에 대해 잘 모르기 때문에 앞으로 조금 더 주의를 기울여야 할 계기가 됐습니다.
참조:
https://gtrt7.com/blog/wp/docker-img-recov
Reference
이 문제에 관하여([php-fpm] Docker에서 GD JPEG Support 활성화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/takeru56/items/74d3e402660ae4473e88
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
RUN apt-get update \
&& apt-get install -y \
gcc \
make \
libpng-dev \
git \
unzip \
vim \
libmcrypt-dev \
mysql-client \
curl \
gnupg \
&& docker-php-ext-install mcrypt pdo_mysql mysqli mbstring gd zip \
RUN apt-get update \
&& apt-get install -y \
gcc \
make \
libpng-dev \
git \
unzip \
vim \
libmcrypt-dev \
mysql-client \
curl \
gnupg \
libjpeg-dev \
libfreetype6-dev \
&& docker-php-ext-install mcrypt pdo_mysql mysqli mbstring zip \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
저는 PHP 문외한이기 때문에 확장 모듈과 PHP 자체 구성에 대해 잘 모르기 때문에 앞으로 조금 더 주의를 기울여야 할 계기가 됐습니다.
참조:
https://gtrt7.com/blog/wp/docker-img-recov
Reference
이 문제에 관하여([php-fpm] Docker에서 GD JPEG Support 활성화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takeru56/items/74d3e402660ae4473e88텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)