Как определить IP-адрес сервера в PHP?

Опубликовано: 2 Февраля, 2022

Что такое IP-адрес? IP-адрес или адрес Интернет-протокола - это числовое значение, присваиваемое каждому устройству в сети, которое использует Интернет-протокол для связи.
IP-адрес выполняет две основные функции:

  • Идентификация интерфейса сети / хоста
  • Адресация местоположения

Статические IP-адреса, которые не очень часто меняются, предоставляются серверам. Интернет-провайдер предоставляет уникальный IP-адрес домашнему компьютеру, который набирает номер через модем, и этот IP-адрес является уникальным для этого сеанса, и он может измениться в следующий раз для устройства.

Как определить IP-адрес вашего сервера: $ _SERVER - это массив в PHP, который содержит информацию о заголовках, путях и расположениях скриптов. Сам веб-сервер создает записи этого массива. Хотя это не гарантирует, что каждый веб-сервер предоставит содержимое этих массивов, серверы обычно могут пропускать часть содержимого массива $ _SERVER.
Чтобы получить IP-адрес сервера, можно использовать ['SERVER_ADDR'], он возвращает IP-адрес сервера под текущим выполняемым скриптом.

Другой метод - использование ['REMOTE_ADDR'] в массиве $ _SERVER. ['REMOTE_ADDR'] используется только для получения IP-адреса для локальных серверов, хотя вывод будет таким же, как при использовании ['SERVER_ADDR'] для IP-адреса локального сервера.

Пример 1: В этом примере IP-адрес серверов определяется с помощью ['SERVER_ADDR'].

<?php
  
// PHP program to obtain IP address of
// the server
  
// Creating a variable to store the
// server address
$ip_server = $_SERVER["SERVER_ADDR"];
  
// Printing the stored address
echo "Server IP Address is: $ip_server";
  
?>

Выход:

 IP-адрес сервера: :: 1

Example 2: This example identify the servers IP address using [‘REMOTE_ADDR’].

<?php
  
// PHP program to obtain IP address of
// the server
  
// Create a variable to store the
// server ip address
$ip = $_SERVER["REMOTE_ADDR"];
  
// Printing the stored address
echo "IP Address is: $ip", "<br>";
  
?>

Выход:

 IP-адрес сервера: :: 1

Примечание. Если вы попытаетесь запустить приведенный выше код в любой сетевой среде IDE, он либо вернет ошибку времени выполнения, либо не выдаст никаких результатов, так как частные домены не разделяют свой IP-адрес, попробуйте запустить его на локальном хосте или на сервере. Для localhost, если используется адрес обратной связи ipv4, он выдаст 127.0.0.1, а если используется адрес обратной связи ipv6, он даст :: 1.