gpt4 book ai didi

php - 找不到环境变量 symfony

转载 作者:行者123 更新时间:2023-12-02 21:16:17 24 4
gpt4 key购买 nike

我有一个 docker 容器:

services:
php-fpm:
build:
context: ./docker/php-fpm

volumes:
- ./symfony:/home/home
container_name: php
ports:
- "9004:9001"
networks:
- local
working_dir: /home/home
environment:
- DATABASE_HOST=test
- DATABASE_PORT=
- DATABASE_NAME=test

我做了 :
  • docker-compose build --no-cache
  • docker 组成
  • 清除缓存

  • 当我刷新页面时,我得到: Environment variable not found: "DATABASE_HOST". .什么问题我不明白。我花了很多时间分析这个问题。你对此有什么想法吗?提前谢谢。顺便说一句,当我做 docker inspect我看到分配了所有这些环境变量。

    最佳答案

    我自己也遇到过这个问题。您必须在 php-fpm.conf 中明确映射您希望 php/symfony 访问的环境变量,例如:

    [www]
    env[MY_ENV_VAR_1] = 'value1'
    env[MY_ENV_VAR_2] = 'value2'

    但是,这似乎不适用于主机的实际环境变量!

    这里有一个很长的讨论(连同几个,在我看来,解决这个问题的费力的解决方法: https://groups.google.com/forum/#!topic/docker-user/FCzUbjTIp_0

    我已经在 pool.d 配置文件中成功完成了,如下所示:
    env[DATABASE_HOST] = $DATABASE_HOST
    env[DATABASE_PORT] = $DATABASE_PORT
    env[DATABASE_NAME] = $DATABASE_NAME

    我只是将其添加为 docker 文件的一部分:
    ADD fpm/app.pool.conf /etc/php5/fpm/pool.d/

    关于php - 找不到环境变量 symfony,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50743486/

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