将图像 php:7.2-apache 与 docker-compose 一起使用时如何启用 php 扩展?
How to enable php extensions when using the image php:7.2-apache with docker-compose?
我想 运行 一个带有 php 容器内扩展的 apache 网络服务器,使用 docker 组成部署。
我的撰写文件如下所示:
version: '3.1'
services:
php:
image: php:7.2-apache
ports:
- 8089:80
volumes:
- ./php/www:/var/www/html/
如何启用以下扩展。
apache2
php7.2
php-xdebug
php7.2-mcrypt
php-apcu
php-apcu-bc
php7.2-json
php-imagick
php-gettext
php7.2-mbstring
首先,您可以在 php
容器中 运行 php -m
查看已安装和启用的模块。
您可以像这样编辑您的 docker-compose.yml
:
version: '3.1'
services:
php:
# image: php:7.2-apache # remember to comment this line
build: .
ports:
- 8089:80
volumes:
- ./php/www:/var/www/html/
在 docker-compose.yml
旁边创建一个名为 Dockerfile
的文件,内容如下:
FROM php:7.2-apache
# then add the following `RUN ...` lines in each separate line, like this:
RUN pecl install xdebug && docker-php-ext-enable xdebug
...
最后,让我们一一道来:
apache2
已安装。
php7.2
已启用。
php-xdebug
添加Dockerfile
:
RUN pecl install xdebug && docker-php-ext-enable xdebug
php7.2-mcrypt
添加到 Dockerfile
:
RUN apt-get install libmcrypt-dev
RUN pecl install mcrypt && docker-php-ext-enable mcrypt
php-apcu
添加到 Dockerfile
:
RUN pecl install apcu && docker-php-ext-enable apcu
php-apcu-bc
添加到 Dockerfile
:
RUN pecl install apcu_bc
RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
RUN echo 'extension=apc.so' >> /usr/local/etc/php/php.ini
php7.2-json
已安装。
php-imagick
添加到 Dockerfile
:
RUN apt install -y libmagickwand-dev --no-install-recommends && \
pecl install imagick && docker-php-ext-enable imagick
php-gettext
RUN docker-php-ext-install gettext && \
docker-php-ext-enable gettext
php7.2-mbstring
Is enabled.
我想 运行 一个带有 php 容器内扩展的 apache 网络服务器,使用 docker 组成部署。
我的撰写文件如下所示:
version: '3.1'
services:
php:
image: php:7.2-apache
ports:
- 8089:80
volumes:
- ./php/www:/var/www/html/
如何启用以下扩展。
apache2
php7.2
php-xdebug
php7.2-mcrypt
php-apcu
php-apcu-bc
php7.2-json
php-imagick
php-gettext
php7.2-mbstring
首先,您可以在 php
容器中 运行 php -m
查看已安装和启用的模块。
您可以像这样编辑您的 docker-compose.yml
:
version: '3.1'
services:
php:
# image: php:7.2-apache # remember to comment this line
build: .
ports:
- 8089:80
volumes:
- ./php/www:/var/www/html/
在 docker-compose.yml
旁边创建一个名为 Dockerfile
的文件,内容如下:
FROM php:7.2-apache
# then add the following `RUN ...` lines in each separate line, like this:
RUN pecl install xdebug && docker-php-ext-enable xdebug
...
最后,让我们一一道来:
apache2
已安装。
php7.2
已启用。
php-xdebug
添加Dockerfile
:
RUN pecl install xdebug && docker-php-ext-enable xdebug
php7.2-mcrypt
添加到 Dockerfile
:
RUN apt-get install libmcrypt-dev
RUN pecl install mcrypt && docker-php-ext-enable mcrypt
php-apcu
添加到 Dockerfile
:
RUN pecl install apcu && docker-php-ext-enable apcu
php-apcu-bc
添加到 Dockerfile
:
RUN pecl install apcu_bc
RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
RUN echo 'extension=apc.so' >> /usr/local/etc/php/php.ini
php7.2-json
已安装。
php-imagick
添加到 Dockerfile
:
RUN apt install -y libmagickwand-dev --no-install-recommends && \
pecl install imagick && docker-php-ext-enable imagick
php-gettext
RUN docker-php-ext-install gettext && \
docker-php-ext-enable gettext
php7.2-mbstring
Is enabled.