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

$_SERVER['code_env']

code_env 这个php默认貌似没有吧

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

阅读 10.7k
4 个回答

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

fastcgi_param  CODE_ENV           rucishenhao;

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

    echo $_SERVER['CODE_ENV'];

如果是在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模块配置

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

做起来很简单

php$_SERVER['code_env'] = xxx;

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题