Php $#u服务器[';请求URI';]在捕获查询字符串时的可靠性如何?
从我读到的内容来看,Php $#u服务器[';请求URI';]在捕获查询字符串时的可靠性如何?,php,query-string,Php,Query String,从我读到的内容来看,$\u SERVER['REQUEST\u URI']似乎并不总是正确地返回查询字符串,但是有人对成功率有很好的了解吗?在大多数情况下对普通客户有效吗 什么(如果有的话)会导致请求URI未填充或不包含查询字符串?您问: 什么(如果有的话)会导致不填充请求URI 我能想到的答案是: web服务器向PHP提供所有的$\u服务器值,因此如果服务器不提供这些值,则不会设置它们。这在任何一台像样的web服务器上都是不可能的,但也是可能的 如果从命令行运行PHP程序,它将不会有任何$\u
$\u SERVER['REQUEST\u URI']
似乎并不总是正确地返回查询字符串,但是有人对成功率有很好的了解吗?在大多数情况下对普通客户有效吗
什么(如果有的话)会导致请求URI
未填充或不包含查询字符串?您问:
什么(如果有的话)会导致不填充请求URI
我能想到的答案是:
$\u服务器
值,因此如果服务器不提供这些值,则不会设置它们。这在任何一台像样的web服务器上都是不可能的,但也是可能的$\u服务器
值。(如果您不担心这一点,请记住单元测试通常是从命令行运行的,因此如果您遵循最佳实践并编写单元测试,这一点很重要)所以我相信你可以合理地确定变量总是会被填充的。当然,最好尽早准备一个非常小的测试脚本在客户的站点上运行,以便提前得到警告。通常为0%或100%。取决于服务器。@WesleyMurch:所以完全取决于服务器?它似乎对我有用。这是否意味着可以安全地假设它适用于任何用户?我从未见过服务器不能正确填充此内容,也许你说的是CLI脚本?@PlatinumAzure:我只需要获取包含查询字符串的URL。我可以使用
$\u GET
进行此操作吗?如果它适用于您,则适用于使用同一服务器的任何用户。
https://bugs.launchpad.net/xibo/+bug/654536