$有多可靠

从我读过的内容看来, $_SERVER['REQUEST_URI']似乎并不总是正确地返回查询字符串,但是有没有人对成功率有什么了解? 它在大多数情况下适用于普通客户吗?

什么,如果有的话,会导致REQUEST_URI不填充或不包含查询字符串?


你问:

什么,如果有的话,会导致REQUEST_URI不填充?

我能想到的答案是:

  • Web服务器为PHP提供所有$_SERVER值,所以如果服务器不提供它们,那么它们将不会被设置。 这对于任何体面的网络服务器来说都不太可能,但是可能的。

  • 如果您从命令行运行PHP程序,它将不会有任何$_SERVER值。 (如果您不担心这一点,请记住单元测试通常是从命令行运行的,所以如果您遵循最佳实践并编写单元测试,那么这很重要)


  • 什么,如果有的话,会导致REQUEST_URI不填充?

    谷歌搜索似乎表明这已经是IIS的情况(但是现在可能不是这样):

    https://bugs.launchpad.net/xibo/+bug/654536
    

    (有一篇关于IIS修复的文章:http://davidwalsh.name/iis-php-server-request_uri)

    以及“服务器”不是您的标准Web服务器(例如调试服务器插件等)的其他情况。

    它被注意到但被认为是一个不太知名或旧版本的Web服务器的bug (lighthttpd,iPlanet Web Server 7.0)。

    所以我相信你可以合理地确定变量总是会被填充。 当然,最好尽早准备一个非常小的测试脚本,以便在客户现场运行,以便进行预警。

    链接地址: http://www.djcxy.com/p/42263.html

    上一篇: How reliable is $

    下一篇: Reliability of PHP'S $