Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1204616
  • 博文数量: 252
  • 博客积分: 5421
  • 博客等级: 大校
  • 技术积分: 2418
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-17 12:59
文章分类

全部博文(252)

文章存档

2017年(3)

2016年(18)

2015年(31)

2014年(18)

2013年(7)

2012年(8)

2011年(12)

2010年(30)

2009年(32)

2008年(57)

2007年(36)

分类: PHP

2016-11-05 00:51:04

一、fpm模式
    1、通过服务器传递
        如在nginx的配置里设置:
        fastcgi_param  ENV_XXX  123456;
        每次页面请求nginx都会将此变量传递给php,php可以通过getenv函数或$_SERVER全局变量获得。

    2、通过fpm配置传递
        fpm在每次启动时都会读取php-fpm.conf文件中的环境变量设置,如:
        env[ENV_XXX]="test test"
        或者让fpm读取系统环境变量,如:
        env[ENV_XXX]=$ENV_XXX
        注意此种方式要确保系统环境变量存在,且不被sudo禁用。
        如果fpm是用sudo方式启动,默认sudo会禁用一些环境变量,可以通过以下方式放开限制:
        vim /etc/sudoers
        Defaults    env_reset
        Defaults    env_keep = "ENV_XXX"
        或者干脆放开所有限制:
        Defaults    !env_reset
        最后,如果修改了php-fpm.conf中的设置需要重启fpm才能生效,同样php可以通过getenv函数或$_SERVER全局变量获得环境变量。

二、命令行模式
    命令行模式限制较少,可以通过getenv函数或$_SERVER全局变量获取对当前执行用户有效的系统环境变量,同样要注意sudo的限制。
阅读(821) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~