使用PHP的$_ENV获取不到环境变量问题解决方法

假如在/etc/profile里有一个自定义的环境变量

export RUN_MODE=test

如果要使用PHP的$_ENV能获取到这个环境变量的话要做如下配置:

  1. 修改php的配置文件php.ini的配置项

    variables_order = "GPCS"
    

    variables_order = "EGPCS"
    

    至于这么配置的原因可以参考《PHP中使用$_ENV获取环境变量的问题》

  2. 修改添加php-fpm的配置项,编辑php-fpm.conf添加如下一行

    env[RUN_MODE]=test
    

    然后重启php-fpm即可。

注:由于开启$_ENV,即在 variables_order 选项里加上E 会导致一些性能损失。php官方不推荐使用$_ENV,而推荐使用getenv (string $varname)函数来获取环境变量,使用getenv函数也不需要修改PHP的相关的配置。

36nu 分享编程知识及经验

已有账号?立即登录
微信公众号
关注36nu微信公众账号
获取最新编程知识及经验