搜索
toc
Latest Post

记一次 Redis OOM

解决 Clash 开启后 Google Play 无法更新下载软件

树莓派4b从 SD 卡迁移至 SSD

网站记录

230513-顾村公园

php-fpm getenv 无法获取到系统的环境变量

❤ Jun Xie

问题及解决方法

维护的一个 PHP 系统最近多了一个新环境,在部署的时候发现获取不到系统的环境变量,问了一下运维同学,也没什么特别的配置,在网上搜索了一圈,发现这个问题在 nginx + php-fpm 模式下挺普遍的,下面是两种解决方法:

1. 通过 nginx 的 fastcgi_param 传值给 php-fpm

fastcgi_param SOME_PARAM param-value;

这种也是在网上能搜到的最多的解决方法,是可用的,但是如果有非常多的环境变量,那么这里都会配置一遍,这其实非常不方便的,这里就有第二种方法。

2. 修改 php-fpm 配置 clear_env = no

php-fpm 默认配置为 clear_env = yes,为 FPM worker 进程清除环境变量。应该是为了安全吧,防止访问到一些敏感的数据。把这个配置修改为 clear_env = no 就可以访问到系统的环境变量了。

参考

php getenv无法获取环境变量Environment variables ignored by php-fpm


Relate Post

IDEA Windows 端口占用问题解决

rustlang学习

ElasticSearch数组多个值匹配

Spring Data Jpa 多数据源选择无效

Rust 开发环境配置