Изучение различных методов получения IP-адреса сервера с помощью PHP

При веб-разработке часто необходимо получить IP-адрес сервера с помощью PHP для различных целей, таких как ведение журнала, проверки безопасности или диагностика сети. В этой статье мы рассмотрим несколько методов получения IP-адреса сервера с помощью PHP, а также примеры кода.

Метод 1: использование $_SERVER[’SERVER_ADDR’]
Самый простой способ получить IP-адрес сервера — получить доступ к переменной $_SERVER['SERVER_ADDR']. Он содержит IP-адрес сервера, на котором выполняется текущий PHP-скрипт. Вот пример:

$serverIp = $_SERVER['SERVER_ADDR'];
echo "Server IP Address: " . $serverIp;

Метод 2: использование gethostbyname()
Функция gethostbyname()может использоваться для преобразования имени хоста сервера в его IP-адрес. Передав имя хоста сервера, мы можем получить IP-адрес сервера. Вот пример:

$hostname = gethostname();
$serverIp = gethostbyname($hostname);
echo "Server IP Address: " . $serverIp;

Метод 3: использование cURL
Если на сервере включен cURL, мы можем сделать HTTP-запрос к общедоступной службе поиска IP-адресов и извлечь IP-адрес сервера из ответа. Вот пример:

$ch = curl_init('https://api.ipify.org');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$serverIp = curl_exec($ch);
curl_close($ch);
echo "Server IP Address: " . $serverIp;

Метод 4: использование оболочки_exec()
Если доступен доступ к оболочке, мы можем выполнить команду оболочки для получения IP-адреса сервера. Вот пример:

$serverIp = shell_exec('curl ifconfig.me');
echo "Server IP Address: " . $serverIp;

В этой статье мы рассмотрели различные методы получения IP-адреса сервера с помощью PHP. Мы рассмотрели использование $_SERVER['SERVER_ADDR'], gethostbyname(), cURL и shell_exec(). Выберите метод, который соответствует вашим требованиям и конфигурации сервера. Получение IP-адреса сервера может быть полезно для различных целей веб-разработки.