【发布时间】:2013-11-08 16:39:10
【问题描述】:
我尝试通过以下方式修改php.ini:
variables_order = "GPCSE"
register_globals = On
但所需的PATH 变量既不在$_ENV 中,也不能通过getenv('PATH') 访问。
我在 Ubuntu 10.04 上运行 Nginx + PHP-FPM。
注意: 在控制台中执行以下命令会得到正确的结果:
php -r "echo getenv('PATH');"
我猜PATH 是 bash 的环境变量,但只要 php-fpm 不是通过 bash 启动的,它就没有必需的变量。有什么方法可以包含它们?
谢谢。
更新#1: 作为临时解决方案,我发现 PATH 变量存储在“/etc/environment”文件中。所以我只是从那里读它。如果有人需要代码:
preg_match('/^(PATH)="?([^"]+)"?$/i', file_get_contents('/etc/environment'), $match);
putenv($match[1]."=".$match[2]);
【问题讨论】:
-
你为什么激活
register_globals? -
好吧,我只是想尽办法让它工作。
标签: php nginx environment-variables