PublicIP — це бібліотека PHP, яка швидко і надійно визначає публічну IP-адресу сервера. У цього пакету є налаштована конфігурація за замовчуванням, яка забезпечує найшвидших та найнадійніших провайдерів. Проте ви можете налаштувати та використовувати інших провайдерів:
use KnotsPHP\PublicIP\Finders\PublicIP;
use KnotsPHP\PublicIP\Finders\PublicIPv4;
use KnotsPHP\PublicIP\Finders\PublicIPv6;
$ipv4 = PublicIPv4::get(); // отримує вашу IPv4
$ipv6 = PublicIPv6::get(); // отримує вашу IPv6
$ipv4or6 = PublicIP::get(); // отримує або IPv4, або IPv6
Цей пакет надає два основні методи для отримання IP-адреси сервера, включаючи провайдери dig та HTTP whoami. Якщо вам потрібен більш детальний контроль, ви можете визначити, який "fetcher" використовувати, і/або який DNS-провайдер:
use KnotsPHP\PublicIP\Enums\DnsProvider;
use KnotsPHP\PublicIP\Fetchers\DigFetcher;
use KnotsPHP\PublicIP\Finders\PublicIPv4;
$ipv4 = PublicIPv4::finder()
->addFetcher((new DigFetcher())
->from(DnsProvider::OpenDNS)))
->fetch();
// Безпосереднє використання Fetcher
$ipv4 = (new DigFetcher)
->from(DnsProvider::Cloudflare)
->fetch(IpVersion::v4);
Пакет також надає інтерфейс командного рядка (CLI) для отримання публічної IP-адреси поточної машини. Це може бути корисно під час налаштування додатків, коли потрібно знати IP-адресу для правильної конфігурації:
vendor/bin/publicip --ipv4
vendor/bin/publicip --ipv6
Дізнатися більше про цей пакет, отримати повні інструкції з встановлення та переглянути джерела коду можна на GitHub. Рекомендую також ознайомитися з документацією в README, щоб переглянути список провайдерів dig та підтримуваних HTTP whoami. Встановити цей пакет у вашому проєкті можна через Composer за командою:
composer require knotsphp/publicip
Особисто я маю alias у Bash, який використовую для швидкого отримання моєї публічної IP-адреси в командному рядку. Ніколи не знаєш, коли вона знадобиться для VPN або списку доступу. Це частина моїх dotfiles, яка дозволяє швидко отримувати мою IP-адресу через dig:
alias ip='dig @resolver4.opendns.com myip.opendns.com +short'
alias ip6='dig @resolver1.ipv6-sandbox.opendns.com AAAA myip.opendns.com +short -6'
Ці alias я знайшов у відповіді на StackExchange.
Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю
Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу