IP-адрес сервера отображения PHP

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

$data['hostname'] = NULL; $data['ip'] = NULL; $var = gethostname(); if ($var === FALSE) { $var = NULL; } else { $data['hostname'] = $var; $data['ip'] = gethostbyname($var); } 

Однако вместо того, чтобы указывать мне Hostname и IP, я получил: «Moria» и «127.0.1.1». Не совсем то, что я ищу. Скорее, он должен указать «Moria.student.rit.edu» для Hostname и IP-адрес. Любая помощь?

Попробуйте $_SERVER['SERVER_ADDR'] . Это будет IP-адрес, который сервер прослушивает. Вы можете использовать функции DNS (например, gethostbyaddr() ) для получения имени хоста.

См. http://www.php.net/manual/en/reserved.variables.server.php .

Если ваше приложение laravel запущено на внутреннем сервере, вы можете использовать следующее для получения внешнего адреса сервера:

  $external_ip = exec('curl http://ipecho.net/plain; echo');