Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过IP获取时区_Php_Json_Laravel_Timezone - Fatal编程技术网

Php 通过IP获取时区

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使用数据进行响应。如果你在菲律宾并且正在访问该网站,你会看到关于你自己的信息。如果您的服务器

当我把我的网站上传到我们的服务器时,我遇到了一个问题。我有这个PHP脚本,可以通过这个URL获取时区

$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。谢谢。这是我需要的