首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PHP

getallheaders 是不是已经可以完全替代 $_SERVER['HTTP_XXX'] 了?

  •  
  •   tabris17 · 2016-10-05 21:05:07 +08:00 · 2204 次点击
    这是一个创建于 1157 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了下文档, 5.4.0 的时候已经支持 FastCGI 了, 5.5.7 的时候已经支持 cli server 了。

    不过,这个函数会不会有什么坑存在?
    7 回复  |  直到 2016-11-07 18:51:03 +08:00
        1
    tabris17   2016-10-05 21:12:32 +08:00
    CGI 模式文档没提。找到一篇文章说是 CGI 模式下不支持,哎~
        2
    a570295535   2016-10-05 21:14:40 +08:00
    不知道,像我这种小白,还在用着$_SERVER['HTTP_XXX']
        3
    mingyun   2016-10-07 09:55:17 +08:00
    5.4 命令行下提示 undefined function getallheaders()
        4
    techmoe   2016-10-07 11:37:50 +08:00   ♥ 1
    各有所需
    这个 function 输出的是请求的所有的 header ,设想一下假使说我现在要写一个判断某个标准 header 的值是否等于某个值的时候,是直接用`$_SERVER['HTTP_XXX']`好还是先手动拉取一下全部的 header 到一个 array 再取值好?
    当然那个函数也有它的用处,上面我强调了是获取标准已经有了通用定义的 header (比如 Accept, Host ),如果碰到客户端需要通过 header 发送某些自定义 header 时就需要拿`getallheaders`取了,最典型的例子是我曾经抓过某个手游的请求,那个手游就是像我说的这样通过几个特定 header 向后端通知当前客户端版本号和手机信息的
        5
    mokeyjay   2016-10-07 17:19:55 +08:00 via Android
    何必浪费性能多跑一个函数呢…更何况这函数还有兼容性要求
        6
    tabris17   2016-10-07 18:04:02 +08:00 via iPhone
    @mingyun cli 下这个函数不可用
        7
    abc123ccc   2016-11-07 18:51:03 +08:00
    getallheaders 在 apache 下可用,在 nginx 没有试成功
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2370 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 09:17 · PVG 17:17 · LAX 01:17 · JFK 04:17
    ♥ Do have faith in what you're doing.