我在使用Arch Linux操作系统。
我有一个容器运行一个php项目,我需要启用gmp和curl扩展。
我的容器是基于阿尔卑斯图的,我可以使用docker exec {container-name} apk add php-gmp php-curl安装扩展。
然后,如果我运行docker exec {container-name} php -m来显示我的扩展,控制台就会打印gmp和curl。很好,这一切都很好,我还在同一个容器中运行的php.ini文件中启用了扩展。
但是,如果我到控制器并返回extension_loaded('gmp'),它就会打印false!
我遗漏了什么?
发布于 2018-10-24 14:01:17
向Jon Stirling大声呼喊他的答案。
我需要重新编辑Dockerfile以包含gmp和curl包,然后让Dockerfile编辑php.ini配置文件以包括gmp和curl扩展。
所以:
运行cache\ .{我所有其他包裹}. php-gpm \ 运行sed 's/extension=gmp.$/extension=gmp/;s/extension=curl.$/extension=curl/;‘/etc/php7 7/php.ini
最后一行使用终端工具'sed -i‘替换与extension=gmp和extension=curl匹配的所有行,并替换它们所在的整行。
这基本上不需要从php.ini文件中注释它们,而不必从目录中复制一个全新的php.ini文件。
在使用docker-compose build重新构建整个项目之后,再次启动所有内容,extension_loaded('gmp')返回了true!
https://stackoverflow.com/questions/52965948
复制相似问题