php getenv无法获取环境变量

现象

php在nginx+fpm模式下getenv()方法获取到的内容与cli模式下不同

举例

  • shell下输出HOSTNAME

  • nginx+fpm无法获取HOSTNAME环境变量

  • php cli模式下输出

原因

nginx+fpm下环境变量通过nginx的fastcgi传递,所有环境变量需要在nginx配置文件下的fastcgi_params文件指定

解决

增加fastcgi_params参数,并重启nginx

echo "fastcgi_param  HOSTNAME       php-nginx;" >> /etc/nginx/fastcgi_params

nginx -s reload
posted @ 2021-12-09 15:47  aiChenK  阅读(815)  评论(0编辑  收藏  举报