search

Home  >  Q&A  >  body text

php $_server 怎么传递自定义变量

$_SERVER['code_env']

code_env 这个php默认貌似没有吧

我也想自定义一些 变量 传到$_SERVER 里面
这个要怎么做呢

PHPzPHPz2896 days ago427

reply all(4)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 15:19:01

    如果你用nginx +php-fpm 的话就简单了, 找到跟 nginx.conf 同一目录下的 fastcgi.conf ,在后面加上一句

    fastcgi_param  CODE_ENV           rucishenhao;
    

    然后重启你的nginx,
    然后在代码里你就可以用$_SERVER取到这个值

        echo $_SERVER['CODE_ENV'];
    

    reply
    0
  • PHPz

    PHPz2017-04-10 15:19:01

    这是一个很不好的code style
    重复,这是一个很不好的code style,用全局变量传递状态,前方是一望无际且望不到底的深坑

    做起来很简单

    php$_SERVER['code_env'] = xxx;
    

    reply
    0
  • 高洛峰

    高洛峰2017-04-10 15:19:01

    你这个要在向服务器发送请求的时候加在HTTP的头部里。
    我知道的ajax的xhr对象使用setRequestHeader方法可以实现,比如:

    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    

    在服务器端可以通过$_SERVER['HTTP_X_REQUESTED_WITH']接收到'XMLHttpRequest',这是jQuery的做法。

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 15:19:01

    如果是在apache下 请参照此步骤:

    1. 打开httpd.conf
      开启env_module (LoadModule env_module modules/mod_env.so前面去掉#)

    2. 添加如下代码

      #自定义SERVER常量
      <IfModule env_module>
      SetEnv code_env custom_value_string
      </IfModule>
    3. 保存,并重启apache即可

    参照 Apache env模块配置

    reply
    0
  • Cancelreply