matriphe/larinfo

显示Laravel的系统信息(IP地址、操作系统、版本)。

4.2.0 2024-03-17 20:26 UTC

This package is auto-updated.

Last update: 2024-09-17 21:45:24 UTC


README

Larinfo Total Download Latest Stable Version

Larinfo为Laravel提供系统信息。

它通过封装Linfo来显示服务器和客户端的IP地址信息、服务器软件版本和硬件信息。

要求

  • PHP版本: ^8.2
  • Laravel版本: ^11.0

针对Windows用户

建议启用com_dot_net扩展以获取更准确的信息。

在您的php.ini文件中添加以下行,并确保您的PHPext目录中存在php_com_dotnet.dll

extension=com_dotnet

安装

要使用Composer安装,只需运行以下命令。

composer require matriphe/larinfo

旧版本

  • Laravel 5.05.15.25.35.45.55.6请使用版本2.2,运行composer require matriphe/larinfo:2.2
  • Laravel 5.7.*5.8.*^6.0^7.0^8.0请使用版本3.0.0,运行composer require matriphe/larinfo:3.0.0
  • Laravel ^9.0请使用版本4.0.0,运行composer require matriphe/larinfo:4.0.0
  • Laravel ^10.0请使用版本4.1.0,运行composer require matriphe/larinfo:4.1.0

配置

要发布配置(可选),请运行以下命令。

php artisan vendor:publish

然后选择指向Matriphe\Larinfo\LarinfoServiceProvider提供者的数字。

新的配置将放置在config/larinfo.php中。

服务配置

使用ipinfo.io服务获取IP地址信息。如果您已注册并拥有访问令牌,请在config/services.php中的ipinfo变量中放置您的令牌。

'ipinfo' => [
    'token'  => 'your_ipinfo_token',
]

如果您不想触达ipinfo.io的速率限制,建议使用Laravel内置缓存进行缓存。

用法

要获取所有信息,使用外观Larinfo并调用getInfo()方法。它将返回此数组示例。

use Larinfo;

$larinfo = Larinfo::getInfo();

该命令的结果如下所示。

$larinfo = [
   'host'=> [
       'city'=> 'San Francisco',
       'country'=> 'US',
       'hostname'=> '',
       'ip'=> '104.20.8.94',
       'loc'=> '37.7697,-122.3933',
       'org'=> 'AS13335 Cloudflare, Inc.',
       'phone'=> '',
       'postal'=> '94107',
       'region'=> 'California',
       'timezone' => 'America/Los_Angeles',
   ],
   'client'=> [
       'city'=> 'Bekasi',
       'country'=> 'ID',
       'hostname'=> '',
       'ip'=> '180.252.202.108',
       'loc'=> '-6.2349,106.9896',
       'org'=> 'AS17974 PT Telekomunikasi Indonesia',
       'phone'=> '',
       'postal'=> '',
       'region'=> ''
   ],
   'server'=> [
       'software'=> [
           'os'=> 'MacOS',
           'distro'=> 'MacOS 10.15.7',
           'kernel'=> '19.6.0',
           'arc'=> 'x86_64',
           'webserver'=> 'nginx/1.19.8',
           'php'=> '8.0.3'
       ],
       'hardware'=> [
           'cpu'=> 'Intel® Core™ i5-3210M CPU @ 2.50GHz',
           'cpu_count'=> 4,
           'model'=> 'Apple device',
           'virtualization'=> '',
           'ram'=> [
               'total'=> 8589934592,
               'free'=> 8578883584,
               'human_total' => '8.0 GiB',
               'human_free' => '15.0 MiB',
           ],
           'swap'=> [
               'total'=> 2147483648,
               'free'=> 426246144,
               'human_total' => '2.0 GiB',
               'human_free' => '406.5 MiB',
           ],
           'disk'=> [
               'total'=> 2999590176768,
               'free'=> 1879852326912,
               'human_total' => '2.7 TiB',
               'human_free' => '1.7 TiB',
           ]
       ],
       'uptime'=> [
           'uptime'=> '2 days, 12 hours, 13 minutes, 43 seconds',
           'booted_at'=> '2021-04-02 15:27:54'
       ]
   ],
   'database'=> [
       'driver'=> 'MySQL',
       'version'=> '8.0.22'
   ]
];

您还可以使用以下方法

  • getHostIpinfo获取主机IP信息(Larinfo::getHostIpinfo()
  • getClientIpinfo获取客户端IP信息(Larinfo::getClientIpinfo()
  • getServerInfoSoftware获取服务器软件信息(Larinfo::getServerInfoSoftware()
  • getServerInfoHardware获取服务器硬件信息(Larinfo::getServerInfoHardware()
  • getUptime获取服务器运行时间(Larinfo::getUptime()
  • getServerInfo获取服务器信息(Larinfo::getServerInfo()
  • getDatabaseInfo获取数据库信息(Larinfo::getDatabaseInfo()

Artisan命令

您也可以通过运行以下命令使用larinfo artisan命令进行检查。

php artisan larinfo

结果示例如下。

Larinfo
=======

+--------------------+------------------------------------------+
| Application                                                   |
+--------------------+------------------------------------------+
| PHP version        | 8.1.12                                   |
| Laravel version    | 10.4.1                                   |
+--------------------+------------------------------------------+
| Database                                                      |
+--------------------+------------------------------------------+
| Engine             | SQLite                                   |
| Version            | 3.40.0                                   |
+--------------------+------------------------------------------+
| Operating System                                              |
+--------------------+------------------------------------------+
| Type               | MacOS                                    |
| Name               | MacOS 13.2.1                             |
| Architecture       | arm64                                    |
| Kernel Version     | 22.3.0                                   |
+--------------------+------------------------------------------+
| Uptime                                                        |
+--------------------+------------------------------------------+
| Uptime             | 5 days, 13 hours, 38 minutes, 25 seconds |
| First Boot         | 2023-03-19 22:36:46                      |
+--------------------+------------------------------------------+
| Server                                                        |
+--------------------+------------------------------------------+
| IP Address         | 79.224.166.123                           |
| Private IP Address |                                          |
| Hostname           | p5fe9ab9c.dip0.t-ipconnect.de            |
| Provider           | AS3320 Deutsche Telekom AG               |
| City               | Berlin                                   |
| Region             | Berlin                                   |
| Country            | DE                                       |
+--------------------+------------------------------------------+
| Timezone                                                      |
+--------------------+------------------------------------------+
| Application        | UTC                                      |
| Server Location    | Europe/Berlin                            |
+--------------------+------------------------------------------+
| Hardware                                                      |
+--------------------+------------------------------------------+
| Model              | Mac mini                                 |
| CPU count          | 8                                        |
| CPU                | Apple M1                                 |
+--------------------+------------------------------------------+
| RAM                                                           |
+--------------------+------------------------------------------+
| Total              | 16.0 GiB                                 |
| Free               | 54.0 MiB                                 |
+--------------------+------------------------------------------+
| SWAP                                                          |
+--------------------+------------------------------------------+
| Total              | 3.0 GiB                                  |
| Free               | 964.7 MiB                                |
+--------------------+------------------------------------------+
| Disk Space                                                    |
+--------------------+------------------------------------------+
| Total              | 2.2 TiB                                  |
| Free               | 1.0 TiB                                  |
+--------------------+------------------------------------------+

运行测试

要运行单元测试,请执行以下命令。

vendor/bin/phpunit --group unit

GitHub Actions

在GitHub Actions上,当创建pull request时,将在相应的操作系统上运行测试,这些操作系统是ubuntumacoswindows

要在Ubuntu 20.04 LTS (Focal Fossa)和Ubuntu 22.04 LTS (Jammy Jellyfish)上运行测试,请运行以下命令。

vendor/bin/phpunit --group ubuntu

要在macOS Monterey (12)macOS Ventura (13)上运行测试,请运行以下命令。

vendor/bin/phpunit --group macos

要在Windows Server 2019Windows Server 2022上运行测试,请运行以下命令。

vendor/bin/phpunit --group windows

许可证

有关更多信息,请参阅许可证文件