PHPackages                             firstphp/ip2region - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. firstphp/ip2region

ActiveLibrary

firstphp/ip2region
==================

ip2region for hyperf

1.1.7(5y ago)138.7k3MITPHPPHP &gt;=7.2

Since Nov 27Pushed 5y ago1 watchersCompare

[ Source](https://github.com/lamplife/ip2region)[ Packagist](https://packagist.org/packages/firstphp/ip2region)[ RSS](/packages/firstphp-ip2region/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (8)DependenciesVersions (9)Used By (0)

ip2region for hyperf
====================

[](#ip2region-for-hyperf)

本库基于 [ip2region](https://github.com/lionsoul2014/ip2region) ，适配Hyperf，可通过注解来使用。

[ip2region](https://github.com/lionsoul2014/ip2region) - 最自由的ip地址查询库，ip到地区的映射库，提供Binary,B树和纯内存三种查询算法，妈妈再也不用担心我的ip地址定位。

99.9%准确率，定时更新
-------------

[](#999准确率定时更新)

数据聚合了一些知名ip到地名查询提供商的数据，这些是他们官方的的准确率，经测试着实比纯真啥的准确多了。
每次聚合一下数据需要1-2天，会不定时更新。

标准化的数据格式
--------

[](#标准化的数据格式)

每条ip数据段都固定了格式：*城市Id|国家|区域|省份|城市|ISP*

只有中国的数据精确到了城市，其他国家只能定位到国家，后前的选项全部是0，已经包含了全部你能查到的大大小小的国家。 （请忽略前面的城市Id，个人项目需求）

体积小
---

[](#体积小)

数据库文件是ip2region.db

安装组件
----

[](#安装组件)

> composer require firstphp/ip2region

使用范例
----

[](#使用范例)

```
use Hyperf\Di\Annotation\Inject;

......

/**
 * @Inject()
 * @var \Firstphp\Ip2region\Ip2region
 */
protected $ip2region;

......

$res = $this->ip2region->binarySearch($ip = "223.104.148.63");

var_dump($res);

// Array
// (
//     [city_id] => 1015
//     [region] => 中国|0|江苏省|南京市|移动
// )
```

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~56 days

Recently: every ~85 days

Total

7

Last Release

2024d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ec2904a42657def0df771f16258860306774a9a8de3e4b838816705c0c38fb43?d=identicon)[lamplife](/maintainers/lamplife)

---

Top Contributors

[![lamplife](https://avatars.githubusercontent.com/u/12744359?v=4)](https://github.com/lamplife "lamplife (2 commits)")

---

Tags

phpswoolehyperfIp2Region

### Embed Badge

![Health badge](/badges/firstphp-ip2region/health.svg)

```
[![Health](https://phpackages.com/badges/firstphp-ip2region/health.svg)](https://phpackages.com/packages/firstphp-ip2region)
```

###  Alternatives

[hyperf/hyperf-skeleton

A coroutine framework that focuses on hyperspeed and flexible, specifically use for build microservices and middlewares.

301187.4k](/packages/hyperf-hyperf-skeleton)[hyperf/jet

Jet is a unification model RPC Client, built-in JSON RPC protocol, available to running in ALL PHP environments, including PHP-FPM and Swoole/Hyperf environments.

6119.1k](/packages/hyperf-jet)[jonas-elias/hyperf-oracle

A oracle handler for hyperf/database.

102.0k](/packages/jonas-elias-hyperf-oracle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
