gpt4 book ai didi

php - 从Docker容器向PHP添加扩展

转载 作者:行者123 更新时间:2023-12-02 20:01:57 25 4
gpt4 key购买 nike

我正在使用Arch Linux操作系统。

我有一个运行php项目的容器,我需要启用gmp和curl扩展。

我的容器基于Alpine镜像,我可以使用docker exec {container-name} apk add php-gmp php-curl安装扩展。

然后,如果我运行docker exec {container-name} php -m来显示扩展名,则控制台将打印gmpcurl。太好了,这一切都很好,我也在同一容器中运行的php.ini文件中启用了扩展名。

但是,如果我转到 Controller 并返回extension_loaded('gmp'),它将打印为false!

我想念什么?

最佳答案

Jon Stirling大喊他的答案。

我需要重新编辑 Dockerfile 以包括gmpcurl软件包,然后还要 Dockerfile 编辑 php.ini 配置文件以同时包括gmpcurl扩展名。

所以:

RUN apk add --no-cache \

...{all my other packages}...

php-gpm \

php-curl

RUN sed -i 's/extension=gmp.$/extension=gmp/;s/extension=curl.$/extension=curl/;' /etc/php7/php.ini



最后一行使用终端工具“sed -i”替换匹配 extension=gmpextension=curl的所有行,并替换它们所在的整行。

这基本上消除了 php.ini 文件中的注释,而无需从目录中复制整个新的 php.ini 文件。

在使用 docker-compose build重建整个项目之后,再次启动所有内容 extension_loaded('gmp')返回了 true!

关于php - 从Docker容器向PHP添加扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52965948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com