通过IP获取时区

Syd*_*ria 1 php timezone json laravel

我将网站上传到服务器时遇到问题.我有这个PHP脚本来获取通过该URL的时区.

$ipInfo = file_get_contents('http://ip-api.com/json');
$ipInfo = json_decode($ipInfo);
Run Code Online (Sandbox Code Playgroud)

我的问题是它返回美国/芝加哥的时区.但是当我直接访问地址栏的URL时,它会返回正确的时区

在此输入图像描述

dec*_*eze 6

ip-api.com根据请求来自的IP响应数据.如果您在菲律宾并且正在访问该网站,您将看到有关您自己的信息.如果您的服务器位于美国并且正在从该站点请求,它将看到有关自身的信息.

如果您希望服务器检索有关访问它的客户端的信息,则必须传递访问客户端的IP.根据文档,您将其附加到URL:

file_get_contents('http://ip-api.com/json/' . $_SERVER['REMOTE_ADDR'])
Run Code Online (Sandbox Code Playgroud)