V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
tabris17
V2EX  ›  PHP

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

  •  
  •   tabris17 · Oct 5, 2016 · 3362 views
    This topic created in 3494 days ago, the information mentioned may be changed or developed.
    看了下文档, 5.4.0 的时候已经支持 FastCGI 了, 5.5.7 的时候已经支持 cli server 了。

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