PHP의 내선/모듈을 사용하지 않으려면 내가 같은 "sqlite3를, PDO .."등의 내 PHP-FPM 이미지 내부에 해제되지 않은 PHP 모듈을하고자하는 방법.도커 - 나는 PHP API를하고 있어요
나는 도커 초보자이며, 사용하지 않는 PHP 모듈을 사용하지 않는 것이 가장 좋은 방법이 아니라면 docker-php-ext-enable
과 비슷한 것이 있는지 알고 싶습니다.
PHP의 내선/모듈을 사용하지 않으려면 내가 같은 "sqlite3를, PDO .."등의 내 PHP-FPM 이미지 내부에 해제되지 않은 PHP 모듈을하고자하는 방법.도커 - 나는 PHP API를하고 있어요
나는 도커 초보자이며, 사용하지 않는 PHP 모듈을 사용하지 않는 것이 가장 좋은 방법이 아니라면 docker-php-ext-enable
과 비슷한 것이 있는지 알고 싶습니다.
예, 가능합니다. 당신이 iconv
, mcrypt
및 gd
확장과 PHP-FPM 이미지를 갖고 싶어
는, 예를 들어 https://hub.docker.com/_/php/
에서 촬영, 당신은 당신이 좋아하는 기본 이미지를 상속하고, 같은 자신의 Dockerfile을 쓸 수 있습니다 이 :
FROM php:7.0-fpm
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
수동으로 확장에 대한 종속성을 설치해야합니다 기억하십시오. 확장 프로그램에 사용자 정의
configure
인수가 필요한 경우이 예제와 같이docker-php-ext-configure
스크립트를 사용할 수 있습니다.
이미 설치 한 후 비활성화하거나 제거하는 방법이 있습니까? –
마침내 요점을 발견했습니다.
도커 PHP 컨테이너 안에는 등록 된 모든 모듈이 아래 경로 아래의 구성 파일에 있습니다.
docker exec -it php_container_name bash
당신은 php -m
모든 활성화 된 모듈을 나열 할 수 있습니다 :
그리고 그 폴더에 cd
, 당신은 관련된 설정 파일을 볼 수있는 용기에
/usr/local/etc/php/conf.d/*.ini
bash
cd /usr/local/etc/php/conf.d/
ls
# output
docker-php-ext-mcrypt.ini docker-php-ext-mysqli.ini
docker-php-ext-opcache.ini opcache-recommended.ini
docker-php-ext-zip.ini
일부 내선 ension 모듈은 disabled
일세을, 예를 들면, 그 안에 그 .ini
파일을 이동 :
mkdir disalbled
mv docker-php-ext-opcache.ini disabled
mv opcache-recommended.ini
마지막으로 눌러
Ctrl+D
컨테이너를 종료 한 다음 변경 작동하게 할 수있는 컨테이너를 다시 시작합니다.
docker restart php_container_name
당신은 컨테이너에 들어갈 그리고, 관련 확장자가 없어 볼 php -m
를 실행할 수 있습니다.
오타가'mkdir disalbled'입니다. 편집 내용이 편집 된 문자가 10 개 이상이어야하기 때문에 변경할 수 없습니다. –
'php.ini' 파일은 어떻습니까? – JustOnUnderMillions
https://hub.docker.com/_/php/ – JustOnUnderMillions
나는/usr/local/etc/php에 커스텀 php.ini 파일을 가지고있다. 위의 링크에서 도움이되는 것을 찾을 수 없습니다. PHP는 기본 모듈을 제공하며 일부는 비활성화하려고합니다. –