【发布时间】:2019-08-10 03:06:46
【问题描述】:
Nginx + php-fpm + yii
我有带有数据库连接字符串的系统环境变量
$ cat '~/.bashrc'
export DB_CONNECTION="connection_string"
在 php-fpm 配置中设置
$ cat /etc/php/7.2/fpm/pool.d/www.conf
env[DB_CONNECTION] = $DB_CONNECTION
尝试在我的 PHP 代码中使用
<?php
var_dump(getenv('DB_CONNECTION'));
得到
string(0) ""
如果我在 php-fpm 配置中对其进行硬编码
$ cat /etc/php/7.2/fpm/pool.d/www.conf
env[DB_CONNECTION] = "connection_string"
有效:
<?php
var_dump(getenv('DB_CONNECTION'));
string(17) "connection_string"
如何让php-fpm读取实际的系统环境变量?
【问题讨论】:
-
你试过
env[DB_CONNECTION] = ${DB_CONNECTION}吗?我不知道它是否可行,但这是php.ini 的语法。我不确定 fpm 池配置是否被解析为 root,但如果您的 bashrc 位于其他用户的主目录中,这也可能是一个问题。
标签: php nginx environment-variables