Php 通过IP获取时区
当我把我的网站上传到我们的服务器时,我遇到了一个问题。我有这个PHP脚本,可以通过这个URL获取时区Php 通过IP获取时区,php,json,laravel,timezone,Php,Json,Laravel,Timezone,当我把我的网站上传到我们的服务器时,我遇到了一个问题。我有这个PHP脚本,可以通过这个URL获取时区 $ipInfo = file_get_contents('http://ip-api.com/json'); $ipInfo = json_decode($ipInfo); 我的问题是它返回的时区是美国/芝加哥。但是当我直接访问地址栏的URL时,它会返回正确的时区 ip-api.com根据请求发出的ip使用数据进行响应。如果你在菲律宾并且正在访问该网站,你会看到关于你自己的信息。如果您的服务器
$ipInfo = file_get_contents('http://ip-api.com/json');
$ipInfo = json_decode($ipInfo);
我的问题是它返回的时区是美国/芝加哥。但是当我直接访问地址栏的URL时,它会返回正确的时区
ip-api.com根据请求发出的ip使用数据进行响应。如果你在菲律宾并且正在访问该网站,你会看到关于你自己的信息。如果您的服务器在美国,并且正在从该站点请求,它将看到有关自身的信息 如果希望服务器检索访问它的客户端的信息,则必须传递访问客户端的IP。根据,可以将其附加到URL:
file_get_contents('http://ip-api.com/json/' . $_SERVER['REMOTE_ADDR'])
http://ip-api.com/json/
不再有效(至少对我而言)
我最终使用了这个:
curl-shttp://geoip.ubuntu.com/lookup |grep-oP'(?您的服务器可能在美国吗…?您的服务器可能没有使用亚洲/马尼拉时区,而是使用美国/芝加哥时区。您需要在服务器中进行更改-如何更改取决于服务器类型和配置。@Joel在这种情况下,这意味着将服务器实际移动到菲律宾…@deceze Right,没有意识到是我p-based;应该读得更透彻。@deceze答案是我需要的。:DYou-rock。谢谢。这是我需要的