Как прочитать системную переменную окружения в php-fpm? - PullRequest
0 голосов
/ 19 марта 2019

Nginx + php-fpm + yii

У меня есть системная переменная окружения со строкой подключения к БД

$ cat '~/.bashrc'
export DB_CONNECTION="connection_string"

Установите ее в конфигурации php-fpm

$ cat /etc/php/7.2/fpm/pool.d/www.conf
env[DB_CONNECTION] = $DB_CONNECTION

Пытаюсь использовать в моем коде PHP

<?php
var_dump(getenv('DB_CONNECTION'));

Получил

string(0) ""

Если я жестко запрограммировал его в конфигурации php-fpm

$ cat /etc/php/7.2/fpm/pool.d/www.conf
env[DB_CONNECTION] = "connection_string"

Это работает:

<?php
var_dump(getenv('DB_CONNECTION'));
string(17) "connection_string"

Как заставить php-fpm читать фактическую системную переменную среды?

1 Ответ

0 голосов
/ 19 марта 2019

Почему вы не используете пакет PHP для обработки переменных среды? Laravel использует https://github.com/vlucas/phpdotenv

Я предлагаю вам использовать это, и поскольку вы используете Yii, это означает, что у вас установлен композитор.

composer require vlucas/phpdotenv

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...