Php Laravel 4访问环境变量

Php Laravel 4访问环境变量,php,nginx,laravel,Php,Nginx,Laravel,我正在尝试访问我的Laravel 4项目中的系统变量。类似于使用ENV['VARIABLE\u NAME']访问RoR项目中的系统变量 在my Laravel代码中getenv('VARIABLE_NAME')返回一个空字符串。但是,我可以在命令提示符下使用php-r“echo getenv('variable_NAME')”访问此变量并将其打印到屏幕上 php-i确认此变量也存储在php的$\u服务器中。但是,尝试从我的项目的database.php文件访问$\u服务器['VARIABLE\u

我正在尝试访问我的Laravel 4项目中的系统变量。类似于使用
ENV['VARIABLE\u NAME']
访问RoR项目中的系统变量

在my Laravel代码中
getenv('VARIABLE_NAME')
返回一个空字符串。但是,我可以在命令提示符下使用
php-r“echo getenv('variable_NAME')”
访问此变量并将其打印到屏幕上

php-i
确认此变量也存储在php的
$\u服务器中。但是,尝试从我的项目的database.php文件访问
$\u服务器['VARIABLE\u NAME']
,会导致
未定义索引:VARIABLE\u NAME
错误

出于某种原因(例如,可能存在潜在的安全问题),我能否从php访问任意系统变量?如果是这种情况,我如何将我需要的系统变量公开给我的Laravel 4项目

如果配置很重要,我将使用php5 fpm和nginx在ubuntu13.04服务器上提供我的PHP。PHP版本是5.5。

它看起来像是一个相关的问题,
nginx
通过
fastcgi_param
指令将参数传递给
PHP
,因此,您必须设置它,只需在设置其他
参数的地方添加一个您需要的参数,这是一个示例()


同时检查和()。我可以从
Apache
上的
PHP
访问任何环境变量。希望这有帮助,但不能说得更具体。

在与此抗争了很长时间之后,正确的方法是使用php5 fpm安装目录的
pool.d
目录中的php5 fpm
www.conf
文件。对我来说,这是在
/etc/php5/fpm/pool.d/www.conf

www.conf
中,文件的一个特定部分列出了几个具有以下语法的环境变量:

env[VARNAME] = $ENV_VAR_NAME
因此,只需添加您自己的变量,然后您就可以在您的Laravel应用程序中使用

getenv('VARNAME')

工作起来就像一个冠军。

我试图访问
app/config/database.php中的
服务器[“REDIRECT\u URL”]
,效果很好。可能您正试图访问
CLI
特定变量,该变量可能无法用于Web请求。我使用
fastcgi_参数
进行了一段时间的调查,以实现我的目标。我用这种方法不断遇到障碍。看看我最终做了什么,我接受的答案。不过,谢谢你的贡献。您的源代码链接对于理解nginx如何与fastCGI交互非常有帮助。+1,这对于将来的参考非常有用,谢谢您的回答。
getenv('VARNAME')