現象
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