drag-and-publish / ip2location-sync
适用于 Laravel 的 Ip2Location 数据库同步包
v1.0.0
2024-01-28 01:29 UTC
Requires
- php: ^8.1
- ext-zip: *
- illuminate/support: ^10.3
Requires (Dev)
- mockery/mockery: ^1.5
- nunomaduro/larastan: ^2.5
- orchestra/testbench: ^8.0
- pestphp/pest: ^1.22
- pestphp/pest-plugin-laravel: ^1.4
- pestphp/pest-plugin-parallel: ^1.2
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
This package is not auto-updated.
Last update: 2024-09-23 02:56:27 UTC
README
Ip2Location 数据库同步包,适用于 Laravel 应用。此包适用于 DB3LITECSV
,需要数据库来存储数据。
docker-ip2location-mysql
和此包之间的差异
- 官方 Docker 镜像 docker-ip2location-mysql 提供了带有数据的数据库,但没有自定义同步选项。此包提供了自定义同步选项。
- 它不是为复杂用例设计的。如果您需要更多功能,请使用官方 Docker 镜像。
- 有时官方 Docker 镜像会导致配额超出错误。这可能会破坏您的应用程序。此包使用缓存来防止此错误。
安装
composer require drag-and-publish/ip2location-sync
用法
在控制台运行所需的作业。
<?php namespace App\Console; use DragAndPublish\Ip2locationSync\Jobs\Ip2LocationDownloadJob; use DragAndPublish\Ip2locationSync\Jobs\Ip2LocationSyncJob; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * Define the application's command schedule. */ protected function schedule(Schedule $schedule): void { $schedule->job(Ip2LocationDownloadJob::class)->dailyAt('00:00'); $schedule->job(Ip2LocationSyncJob::class)->dailyAt('00:00'); } }
环境变量
在 .env
文件中定义您的环境变量。
# ip2location IP2LOCATION_TOKEN={YOUR_TOKEN} IP2LOCATION_IP_TYPE=IPV6 IP2LOCATION_MYSQL_PORT=1010 IP2LOCATION_MYSQL_HOST=127.0.0.1 IP2LOCATION_MYSQL_DBNAME=ip2location_database IP2LOCATION_MYSQL_USERNAME=admin IP2LOCATION_MYSQL_PASSWORD=secret