在 Symfony2 中获取客户端 IP

Get Client Ip in Symfony2

我搜索过,但似乎找不到这个简单问题的答案:

我如何强制 symfony 给我用户 ip 的 ipv4 版本,或者我是否遗漏了什么?

我可以同时获得 ipv4 和 ipv6 吗?

谢谢

编辑:我的问题不同,因为我不想获取任何 ip,我知道 getClientIP 函数(这就是它出现在标题中的原因),我希望该函数 return 一个 ipv4和ipv6版本的ip。 (或任何函数,任何获取 ipv4 和 ipv6 的方法)

Edit2:这就是我现在获取 ip 的方式:

public function getUserIp()
{
    return $this->request->getClientIp();
}

并且它 return 是专门的 ipv6。 (此函数 运行 来自我自己的 UserManager 内部,通过将事件插入控制器输入部分 symfony 管道,在每次调用时检查和更新当前用户)

如果用户使用 IPv6 连接,则不会显示 IPv4 地址,反之亦然。您始终只能获得一个版本的 IP。