公共服务器上的 PHP geoplugin 失败

Posted

技术标签:

【中文标题】公共服务器上的 PHP geoplugin 失败【英文标题】:PHP geoplugin failing on public server 【发布时间】:2012-12-30 11:15:12 【问题描述】:
$location  = "http://www.geoplugin.net/php.gp?ip=115.67.131.206";
$geoplugin = unserialize(file_get_contents($location));
$country   = $geoplugin['geoplugin_countryName'];
$city      = $geoplugin['geoplugin_city'];

我在 IIS 上运行上述 PHP 代码(来自 Geoplugin 的示例),它运行良好,返回国家和城市;但是,当从公共托管服务器运行时,不会返回任何内容,也不会显示错误。我错过了什么?

【问题讨论】:

检查你的配置php.net/manual/en/… 在开头添加这段代码并再次运行。 error_reporting(-1); ini_set('display_errors', 1); ini_set('display_startup_errors', 1);你会看到错误 【参考方案1】:

在你的服务器上找到 php.ini,然后寻找 allow_url_fopen 使其成为可能

allow_url_fopen = On

如果这能解决您的问题或其他问题,请告诉我们

【讨论】:

刚刚再次检查了服务器,被告知不允许远程连接,所以想必是这个原因吧?我无权访问 php.ini 文件。 我认为使用共享主机您仍然可以拥有自己的 php.ini 文件,尝试在根文件夹中创建 php.ini 文件添加一些配置以检查服务器是否看到它,然后添加 allow_url_fopen = On

以上是关于公共服务器上的 PHP geoplugin 失败的主要内容,如果未能解决你的问题,请参考以下文章

如何使用geoplugin在php中获取国家名称?

使用 Geoplugin 旋转链接

php,cgi,nginx关系

PHP GeoIP 循环错误

关于 ajax 将数据发布到 PHP

从 Internet 服务器(公共)调用 Intranet(私有)服务器上的 .php 页面