【发布时间】:2021-01-16 13:42:46
【问题描述】:
我是 docker 新手。 我想使用 docker-php-extension-installer 将 PHP 扩展安装到我的容器中,因为根据 php-docker hub 文档,此脚本基于 docker-php-ext-* 脚本构建并通过自动简化 PHP 扩展的安装添加和删除 Debian (apt) 和 Alpine (apk) 软件包。
问题是当我尝试安装 gd 或 pdo_mysql 或其他东西时,当我在 bash 中运行 php -m 命令时,扩展已安装但未显示在模块列表中。
这是我的 DockerFile
FROM php:7.3-fpm
# Use the default production configuration
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
RUN apt-get update && apt-get install -y unzip \
&& apt-get install -y git nano \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# use https://github.com/mlocati/docker-php-extension-installer to simply install php extensions with dependencies
ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions /usr/local/bin/
RUN chmod uga+x /usr/local/bin/install-php-extensions && sync && \
install-php-extensions gd pdo_mysql
也许我必须以某种方式启用这些扩展,但我怎样才能从我的 Dockerfile 中做到这一点? docker-php-extension-installer 页面文档和官方 php docker 页面中都没有提到这一点。
如果有人知道,请帮忙。谢谢。
【问题讨论】:
-
你确定你重建了你的图像吗?当我使用来自their doc 的信息并抛出一个额外的
pdo_mysql,然后以CMD php -m结束我的Dockerfile时,我确实看到那里列出了预期的模块 -
谢谢。这是我的错。
标签: php dockerfile