【发布时间】:2013-11-18 23:53:01
【问题描述】:
我正在尝试访问我的 Laravel 4 项目中的系统变量。类似于使用 ENV['VARIABLE_NAME'] 访问 RoR 项目中的系统变量。
在我的 Laravel 代码中 getenv('VARIABLE_NAME') 返回一个空字符串。但是,我可以在命令提示符下使用php -r "echo getenv('VARIABLE_NAME')" 访问该变量并将其打印到屏幕上。
php -i确认这个变量也存储在php的$_SERVER超全局中。但是,尝试从我的项目的 database.php 文件访问$_SERVER['VARIABLE_NAME'] 会导致Undefined index: VARIABLE_NAME 错误。
由于某种原因(例如,可能的潜在安全问题),我不能从 php 访问任意系统变量吗?如果是这种情况,如何将我需要的系统变量公开给我的 Laravel 4 项目?
如果配置很重要,我将使用 php5-fpm 和 nginx 在 Ubuntu 13.04 服务器上提供我的 PHP。 PHP版本是5.5。
【问题讨论】:
-
我尝试在
app/config/database.php中访问$_SERVER["REDIRECT_URL"],它工作得很好。可能是您尝试访问可能无法用于 Web 请求的CLI特定变量。