PHP CLI как получить домен

173
31 августа 2018, 23:00

Есть PHP процесс который работает в месте с веб-сервером внутри контейнера Docker, процесс запускается с помощью PHP-CLI и после работы должен отдавать пару ссылок типа доменХостМашины\ссылка, как мне из моего процесса получить домен хост машины?

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

Answer 1

К сожалению, php-cli ничего не знает про веб-сервер и его окружение, поэтому домен получить не удастся.

Самый простой способ получить внешний IP, не завязываясь на окружение — это получить адрес у внешнего сервиса, например, http://checkip.dyndns.com/:

$externalContent = file_get_contents('http://checkip.dyndns.com/');
preg_match('/Current IP Address: \[?([:.0-9a-fA-F]+)\]?/', $externalContent, $m);
$externalIp = $m[1];

Как опция — можно использовать переменную окружения в docker, через которую в скрипт будет передаваться домен или ip.

READ ALSO
Как заменить идентификатор пользователя в модуле “Социальная сеть” Битрикса на другое значение?

Как заменить идентификатор пользователя в модуле “Социальная сеть” Битрикса на другое значение?

В настройках модуля "Социальная сеть" Битрикса прописан такой путь Профайл пользователя:user/#user_id#/

167
php curl proxy не работает

php curl proxy не работает

Запрос из командной строки винды:

212
Неизвестная ошибка в php коде

Неизвестная ошибка в php коде

Вызов функции "read_sql" выдает fatal error (по крайней мере "string" не выводится)Никак не могу найти, в чем ошибка

191
Запись и чтение Сектора диска С++

Запись и чтение Сектора диска С++

Хочу записывать и читать информацию прямиком из сектора диска а не из файлаНа С++

217