安装PHP扩展的依赖项

时间:2018-05-30 12:36:33

标签: docker dockerfile

我开始学习Docker,现在我正在用PHP7和Apache构建自己的容器。 我必须启用一些PHP扩展,但我想知道如何在安装扩展之前知道应该安装哪些软件包(依赖项)。

目前这是我的Dockerfile:

FROM php:7.0-apache
RUN apt-get update && apt-get install -y libpng-dev 
RUN docker-php-ext-install gd

在这种情况下,为了启用gd扩展程序,我搜索了构建步骤中返回的错误,我发现它需要包libpng-dev,但是执行这些步骤很烦人我要安装的每个扩展程序。

你如何处理这类问题?

3 个答案:

答案 0 :(得分:2)

这个过程确实很烦人,很多事情可以由计算机来完成。幸运的是,有人编写了一个脚本来完全做到这一点:docker php extension installer

您的示例可以写为:

{this.state.show && <CustomActivityIndicator />}

答案 1 :(得分:0)

这是我做的,安装PHP和一些PHP扩展和工具。我通常需要的东西......

# Add the "PHP 7" ppa
RUN add-apt-repository -y \
ppa:ondrej/php

#Install PHP-CLI 7, some PHP extentions and some useful Tools with apt
RUN apt-get update && apt-get install -y --force-yes \
php7.0-cli \
php7.0-common \
php7.0-curl \
php7.0-json \
php7.0-xml \
php7.0-mbstring \
php7.0-mcrypt \
php7.0-mysql \
php7.0-pgsql \
php7.0-sqlite \
php7.0-sqlite3 \
php7.0-zip \
php7.0-memcached \
php7.0-gd \
php7.0-fpm \
php7.0-xdebug \
php7.1-bcmath \
php7.1-intl \
php7.0-dev \
libcurl4-openssl-dev \
libedit-dev \
libssl-dev \
libxml2-dev \
xz-utils \
sqlite3 \
libsqlite3-dev \
git \
curl \
vim \
nano \
net-tools \
pkg-config \
iputils-ping

# remove load xdebug extension (only load on phpunit command)
RUN sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini

答案 2 :(得分:0)

创建自己的Dockerfiles涉及反复试验 - 或者建立和调整其他人的工作。

如果您还没有找到,请查看:https://hub.docker.com/r/chialab/php/

此图片似乎在官方基本影像的顶部添加了扩展程序。如果您不需要此图片中的所有扩展程序,则可以查看此图片的source并根据自己的喜好进行调整。