Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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 fpm中读取系统环境变量?_Php_Nginx_Environment Variables - Fatal编程技术网

如何在php fpm中读取系统环境变量?

如何在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] =

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] = "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位于其他用户的主目录中,这可能也是一个问题。