小编chi*_*dit的帖子

使用 Nginx 在 PHP-FPM 中获取环境变量

我定义一些环境变量,像APP_ENV在我的/etc/environment文件中,在我的ArchLinux的。

如果我输入printenv,我会看到它们。

我创建了这个简单的测试文件,名为… test.php

<?php

var_dump(getenv('APP_ENV'));
var_dump(getenv());
Run Code Online (Sandbox Code Playgroud)

如果我运行php test.php,一切正常,我会看到我的 ENV 变量。

但是当我尝试通过 HTTP 访问文件时……我的环境中什么也没有!

当然,我已经改变了/etc/php/php-fpm.d/www.conf设置clear_env = no

这些是受影响的行:

; Clear environment in FPM workers
; Prevents arbitrary environment variables from reaching FPM worker processes
; by clearing the environment in workers before env vars specified in this
; pool configuration are added.
; Setting to "no" will make all environment variables available to PHP code
; via getenv(), $_ENV …
Run Code Online (Sandbox Code Playgroud)

php nginx environment-variables php-fpm env

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

env ×1

environment-variables ×1

nginx ×1

php ×1

php-fpm ×1