geoip_record_by_name什么都不返回?

时间:2012-03-09 12:13:21

标签: php ubuntu geolocation

我尝试了本教程http://tech.cibul.net/install-maxminds-geoip-ip-database-on-ubuntu-for-php/并完成了所有工作。在我的Ubuntu 11.10安装上编译了geoip模块以及php扩展。

我也试过这个更简单的终端命令

(sudo) apt-get install php5-geoip 

它显示安装成功,但是当我尝试

geoip_record_by_name('127.0.0.1')

它仍然没有提供任何内容,即根本没有数组。

2 个答案:

答案 0 :(得分:2)

尝试使用其他IP地址 - 例如111.111.111.111,因为您正在检查本地主机(127.0.0.1) - 它可能无法在本地运行。

请参阅geoip_record_by_nameDocs

  

成功时返回关联数组,如果在数据库中找不到地址,则返回FALSE

您返回FALSE,因为在数据库中找不到该地址。

答案 1 :(得分:1)

https://bugs.php.net/bug.php?id=59753

对此主题进行了重要讨论

此功能的问题在于,当找不到地址时,它会返回“PHP Notice”。

简单地说,这个函数对正常的内部地址采取的行为是不希望从其数据库返回位置(记录),返回“假”,这是好的和预期的,但另外它发送通常的“PHP通知”用于报告实际编码或库问题,但不是预期的结果。