Php 如何使用docker composer中设置的环境变量
我正在使用运行codeigniter应用程序的docker容器,并在docker composer.yml中为基本url设置了环境变量,如:Php 如何使用docker composer中设置的环境变量,php,docker,docker-compose,environment-variables,codeigniter-3,Php,Docker,Docker Compose,Environment Variables,Codeigniter 3,我正在使用运行codeigniter应用程序的docker容器,并在docker composer.yml中为基本url设置了环境变量,如: version: '3.4' services: app: image: WEBPORTAL_VERSION ports: - port_key:port_num environment: - BASE_URL=http://example.com
version: '3.4' services:
app:
image: WEBPORTAL_VERSION
ports:
- port_key:port_num
environment:
- BASE_URL=http://example.com
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
现在,我想访问环境密钥,即codeigniter应用程序中的基本url
我正在使用:
$\u config['base\u url']=getenv('base\u url')
其中,BASE_URL是上面docker composer文件中初始化的密钥
这里的问题是getenv不从docker composer中的环境集获取 终于!解决了这个问题,默认情况下在php fpm配置文件中
clear_env = yes
这是默认值,我将其更改并更新为
clear_env=no
您是否重新构建了容器?请尝试$\u ENV['variable\u name']我也尝试过$\u ENV['variable\u name'],但都不起作用@BugHunter@ReynierPM我没有收到任何错误,只是getenvI的值为空,从docker composer获得了env值,但忽略了http://并且在源页面中仅显示example.com,为什么忽略http://