Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用docker composer中设置的环境变量_Php_Docker_Docker Compose_Environment Variables_Codeigniter 3 - Fatal编程技术网

Php 如何使用docker composer中设置的环境变量

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

我正在使用运行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
        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://