我在为我的 PHP 网站创建路由器时遇到了这样一个方法:
public function getURI() {
if (!empty($_SERVER["REQUEST_URI"])) {
// do some stuff and return the result
}
}
我发现即使我请求 'example.com'
- $_SERVER["REQUEST_URI"]
也不为空(它是 '/'
)
问题是:
为什么我需要检查$_SERVER["REQUEST_URI"]
是否为空?
什么时候 REQUEST_URI
可以为空?
最佳答案
在 HTTP 调用中,$_SERVER["REQUEST_URI"]
永远不会为空,因为它是 HTTP 协议(protocol)的一部分。
如果在 CLI 中调用此函数,$_SERVER["REQUEST_URI"]
可能为空。
编辑
或者,正如@ArtisticPhoenix 所指出的,它可以由用户 unset($_SERVER["REQUEST_URI"]);
或 $_SERVER["REQUEST_URI"]="foo ";
关于php - 什么时候 REQUEST_URI 可以为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48579283/