Я запускаю приложение PHP на Heroku, и у меня нет проблем с получением переменных окружения с помощью heroku:config
команда, но мне нужно иметь отдельные переменные локально.
Я бродяжничаю в Ubuntu, но пока не могу понять, где на самом деле установить переменные. Я пытался использовать ~/.bashrc
, а также помещая переменные в сценарий обеспечения, но я не могу получить $_ENV
(или же getenv()
) функция в PHP для фактического получения переменной. Когда я вызываю эти функции, мне говорят, что переменные не установлены в среде.
Любые идеи, как установить переменные среды в локальной среде для приложения PHP Heroku?
Я думаю, это должно работать с ~/.bashrc
файл, но это может зависеть от того, какой bash вы используете.
Вы можете поместить свои переменные env в .profile
например:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home
Это нужно сделать для пользователя, который запускает apache (если вы используете apache, nginx или любой другой веб-сервер)
Обязательно добавьте эти переменные для пользователя, который запускает apache (если apache или nginx или любой другой веб-сервер, который вы используете), а не для вашего бродячего пользователя.
Разница с Heroku заключается в том, что ваш пользователь heroku будет владеть всем вашим процессом, включая веб-сервер, так что вы можете получить доступ к переменной, которую вы определяете, со стандартным локальным (или виртуальным) Ubuntu веб-сервером, принадлежащим пользователю root или веб-пользователю. ,
Если вы не уверены, что вы также можете разместить переменные внутри /etc/environment
и ссылаться на этот файл из /etc/apache2/envvars
как :
# Load all the system environment variables.
. /etc/environment
Других решений пока нет …