Я использую контейнер докеров, который запускает приложение codeigniter, и я установил переменную среды для базового URL-адреса в docker composer.yml, например:
version: '3.4' services:
app:
image: WEBPORTAL_VERSION
ports:
- port_key:port_num
environment:
- BASE_URL=http://example.com
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
Теперь я хочу получить доступ к ключу среды, то есть базовому URL-адресу в приложении codeigniter.
Я использую:
$_config['base_url']=getenv('BASE_URL');
где BASE_URL - это ключ, инициализированный в файле docker composer выше.
Проблема здесь в том, что getenv не извлекается из среды, установленной в docker composer?
попробуйте $ _ENV ['имя_переменной']
Я тоже пробовал $ _ENV ['variable_name'], но не работал @BugHunter
Мне кажется странным, что @BugHunter сказал, что вы должны иметь доступ к значению переменной, вы пытались распечатать его прямо на консоли? Что-то вроде printenv | more
? Не могли бы вы опубликовать результаты? Вы получаете какую-нибудь ошибку?
@ReynierPM Я не получаю никаких сообщений об ошибках, просто значение для getenv пустое.
Я получил значение env от docker composer, но он игнорирует http: //, а на исходной странице он показывает только example.com, почему он игнорирует http: //
Ну наконец то! решил проблему, по умолчанию в конфигурационном файле php-fpm принимал
clear_env = yes
это значение по умолчанию, я изменил его и обновил как
clear_env=no
вы сделали новую сборку контейнера?