PHPackages                             pizepei/terminal-info - 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. [CLI &amp; Console](/categories/cli)
4. /
5. pizepei/terminal-info

ActiveLibrary[CLI &amp; Console](/categories/cli)

pizepei/terminal-info
=====================

terminal-info

0.1.01(6y ago)23101PHPPHP &gt;=7.0.0

Since Nov 29Pushed 6y agoCompare

[ Source](https://github.com/pizepei/TerminalInfo)[ Packagist](https://packagist.org/packages/pizepei/terminal-info)[ Docs](https://org.heil.top/)[ RSS](/packages/pizepei-terminal-info/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (6)Used By (0)

TerminalInfo
============

[](#terminalinfo)

一个简单的分析WEB客户端信息的类

此项目期望通过简单的方法获取WEB客户端一下信息：
-------------------------

[](#此项目期望通过简单的方法获取web客户端一下信息)

- 1、通过HTTP\_USER\_AGENT信息获取客户端的语言（HTTP\_ACCEPT\_LANGUAGE）、客户端类型、客户端操作系统（PC、IOS、Android以及版本号）、IOS系统版本、微信版本、浏览器内核版本
- 2、通过HTTP\_ACCEPT\_LANGUAGE信息获取客户端类型、客户端操作系统、网络类型等信息。
- 3、通过搜集的IP信息查询API综合分析客户端所在国家、省、城市信息。
- 4、通过搜集的IP信息、客户端信息综合分析客户端的网络状态。
- 5、支持自动更新纯真IP地址数据库

使用方法：
=====

[](#使用方法)

- 简单的使用方法

```
使用composer安装
   composer require pizepei/terminal-info

```

```
   * redis使用缓存结果避免重复获取ip和浏览器信息
       terminalInfo::$redis= $Redis;   #$Redis为Redis实例  非必须如果不设置属性默认中缓存当前请求生命周期内的ip与浏览器信息
       terminalInfo::$period = 24;     #redis缓存有效期单位小时  默认24小时
       terminalInfo::$USER_AGENT;      #非必须如果不设置此属性 默认获取当前请求的$_SERVER['HTTP_USER_AGENT']
       terminalInfo::$LANGUAGE;        #语音获取，非必须如果不设置此属性 默认获取当前请求的$_SERVER['HTTP_ACCEPT_LANGUAGE']
       terminalInfo::getInfo(true);    # 当参数为 true 时获取全文字信息方便展示  false 时获取的是int数值代替的内容方便存储数据库
       terminalInfo::delCache([all])   # 清空 当前缓存  all 全部   ip ip缓存  agent AGENT缓存
       * 返回信息如下
       {
               "Ipanel": {
                   "name": "微信(MicroMessenger)",             # 浏览器名称
                   "versions": "7.0.6.1460"                    # 浏览器内核版本（客户端是微信时versions为微信版本号）
               },
               "language": "简体中文",                         # 浏览器系统语言
               "OS": Android,                                  # 客户端系统
               "Build": [                                      # 移动设备的系统信息如系统、设备型号 IOS设备时会获取到IOS版本号
                   "Android 9",
                   "ONEPLUS A5010"
               ],
               "NetworkType": "WIFI",                          # 通过浏览器信息获取到的网络信息
               "IpInfo": {                                     # IP详细信息 不同的模式下的信息有一些区别
                   "province": "广东省",
                   "city": "深圳市",
                   "isp": "电信",
                   "NetworkType": "WiFi",
                   "address": "CN|广东|深圳|None|CHINANET|0|0",
                   "street_number": "",
                   "human": "no",                              # 是否是人类  no不是  yes是
                   "point": {
                       "x": "114.02597366",
                       "y": "22.54605355"
                   }
               },
               "IP": "121.34.151.140",                         # 客户端IP
           }

   * 单独获取浏览器信息
       terminalInfo::agentInfo();      # 单独获取，不支持获取全文字信息
   * 单独获取IP详细
       terminalInfo::getIpInfo([$IP]); # 如果传入ip就获取此IP信息否则获取当前请求IP的信息（会自动根据参数缓存结果）
   * 获取当前请求IP
       terminalInfo::get_ip()

```

注意：
===

[](#注意)

- 获取的数据的准确性需要在客户端没有存在刻意欺骗行为的前提下才能有一定的保证。
- IP地址信息查询API,需要注意百度的API需要申请、淘宝的API有请求限制（比较准确的是百度API）、中国移动IP如果在异地漫游会比较准确，电信联通好查询到归属地城市数据。

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

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 ~160 days

Total

4

Last Release

2240d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6a06bb5de505bbd20b5727939f2f7e7b122f3c60d08ca26df240054ff6c4055e?d=identicon)[normphp](/maintainers/normphp)

---

Top Contributors

[![pizepei](https://avatars.githubusercontent.com/u/21353735?v=4)](https://github.com/pizepei "pizepei (54 commits)")

---

Tags

browseriplocationqqwryterminalbrowserwebterminal message

### Embed Badge

![Health badge](/badges/pizepei-terminal-info/health.svg)

```
[![Health](https://phpackages.com/badges/pizepei-terminal-info/health.svg)](https://phpackages.com/packages/pizepei-terminal-info)
```

###  Alternatives

[behat/mink

Browser controller/emulator abstraction for PHP

1.6k86.1M606](/packages/behat-mink)[recca0120/terminal

run laravel artisan command in web application

878410.9k2](/packages/recca0120-terminal)[friends-of-behat/mink-extension

Mink extension for Behat

14034.2M467](/packages/friends-of-behat-mink-extension)[robertfausk/behat-panther-extension

Symfony Panther extension for Behat

341.7M87](/packages/robertfausk-behat-panther-extension)[toriphes/yii2-console-runner

Runs console command in yii web application

29240.1k](/packages/toriphes-yii2-console-runner)[teepluss/console

Browser console for Laravel Framework.

4251.3k](/packages/teepluss-console)

PHPackages © 2026

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