如何在php fpm中读取系统环境变量?
Nginx+php-fpm+yii 我有一个带有DB连接字符串的系统环境变量如何在php fpm中读取系统环境变量?,php,nginx,environment-variables,Php,Nginx,Environment Variables,Nginx+php-fpm+yii 我有一个带有DB连接字符串的系统环境变量 $ cat '~/.bashrc' export DB_CONNECTION="connection_string" 在php fpm配置中设置它 $ cat /etc/php/7.2/fpm/pool.d/www.conf env[DB_CONNECTION] = $DB_CONNECTION $ cat /etc/php/7.2/fpm/pool.d/www.conf env[DB_CONNECTION] =
$ cat '~/.bashrc'
export DB_CONNECTION="connection_string"
在php fpm配置中设置它
$ cat /etc/php/7.2/fpm/pool.d/www.conf
env[DB_CONNECTION] = $DB_CONNECTION
$ cat /etc/php/7.2/fpm/pool.d/www.conf
env[DB_CONNECTION] = "connection_string"
尝试在我的PHP代码中使用
<?php
var_dump(getenv('DB_CONNECTION'));
<?php
var_dump(getenv('DB_CONNECTION'));
如果我在php fpm配置中硬编码它
$ cat /etc/php/7.2/fpm/pool.d/www.conf
env[DB_CONNECTION] = $DB_CONNECTION
$ cat /etc/php/7.2/fpm/pool.d/www.conf
env[DB_CONNECTION] = "connection_string"
它的工作原理是:
如何使php fpm读取实际的系统环境变量?为什么不使用php包来处理环境变量? 拉威尔使用 我建议您使用它,因为您使用的是Yii,这意味着您已经安装了composer
composer需要vlucas/phpdotenv
为什么不使用PHP包来处理环境变量?
拉威尔使用
我建议您使用它,因为您使用的是Yii,这意味着您已经安装了composer
composer require vlucas/phpdotenv
您是否尝试过env[DB\u CONNECTION]=${DB\u CONNECTION}
?我不知道它是否有效,但这就是它的语法。我不确定fpm池配置是否被解析为根目录,但您的bashrc是否位于其他用户的主目录中,这可能也是一个问题。您是否尝试过env[DB\u CONNECTION]=${DB\u CONNECTION}
?我不知道它是否有效,但这就是它的语法。我不确定fpm池配置是否被解析为根目录,但如果您的bashrc位于其他用户的主目录中,这可能也是一个问题。