PHP7-4总是无法读取系统环境变量
文章发布较早,内容可能过时,阅读注意甄别。
我们的应用日志,在打印的时候会读取一个环境变量,从而标注服务名称以及环境,当我们使用 PHP7.4.x 的时候,总是无法正常读取系统变量。
这个时候可以通过在 /etc/opt/remi/php74/php-fpm.d/www.conf
文件中声明的方式进行读取:
env[NAMESPACE] = prod
1
后来看到了一个资料:
这个时候也看到了在www.conf
中有如下片段:
; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
; the current environment.
; Default Value: clean env
;env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
默认情况下,会自动清理环境变量,这也是为何无法正常读取的原因。
那么在该配置最后添加如下参数:
; 如果读不到系统环境变量,添加如下变量
clear_env = no
1
2
2
然后重启 PHP,便能够正常读取了。
![微信](https://t.eryajf.net/imgs/2023/01/834f12107ebc432a.png)
![支付宝](https://t.eryajf.net/imgs/2023/01/fc21022aadd292ca.png)
上次更新: 2024/07/04, 22:40:37
- 01
- 学习周刊-总第169期-2024年第30周07-26
- 02
- 使用docker快速部署rancher-2.8.5并投入生产实践07-20
- 03
- 学习周刊-总第168期-2024年第29周07-18