Установка переменных среды в MAMP?
Я предполагаю, что переменные среды MAMP можно установить в ~/.bash_profile, но кажется, что их установка там не всегда вступает в силу сразу же. Например, я просто установил переменную в свой .bash_profile и попытался перезапустить серверы MAMP, перезапустить сам MAMP и даже выйти из моего компьютера, и ничего не работает. Эта переменная по-прежнему недоступна из моей среды. Есть ли другой способ установить MAMP env vars, который у меня отсутствует, или есть кеш, который мне нужно очистить?
Спасибо заранее.
Ответы
Ответ 1
MAMP будет загружать содержимое /Applications/MAMP/Library/bin/envvars
в свои переменные среды при запуске apache. Итак, вы можете отредактировать файл и добавить:
MY_VAR="foo"
export MY_VAR
Затем перейдите к такой переменной:
echo $_ENV["MY_VAR"];
печатает:
foo
Обновление для OSX Yosemite:
переименуйте envvars
в _envvars
Смотрите: MAMP Pro 3.05 на Mavericks обновлен до Yosemite - Apache не запускается
Ответ 2
Вы также можете установить переменные среды PHP в MAMP Pro (недоступно в MAMP) в разделе additional parameters for <VirtualHost>:
, найденном на вкладке "Расширенные" на панели настроек хостов.
![mamp setting php environment variable]()
Снимок экрана из MAMP Pro v 3.0.3
Ответ 3
MAMP ищет "/Applications/MAMP/Library/bin/envvars", если файл не работает, просто создайте его и добавьте переменные среды.
Ответ 4
Вы можете установить переменные среды в конфигурации Apache...
/Applications/MAMP/conf/apache/httpd.conf
SetEnv MY_VAR theValue
SetEnv ANOTHER thisIsTheValue
Ответ 5
Я предполагаю, что вы говорите о локальном сервере?
Я заметил, что если вы посмотрите на процессы, которые Apache может иметь несколько экземпляров, которые вам нужно проверить. Если они есть, выйдите из них отдельно, так как перезапуск не будет принимать новые изменения до тех пор, пока все экземпляры не будут перезапущены. Что-то попробовать.
Ответ 6
Если вы все еще не можете получить переменные среды:
вам может потребоваться отредактировать реальный httpd.conf
~/Library/Поддержка приложений /appsolute/MAMP PRO/
вместо
/Applications/MAMP/CONF/Apache/
Также вам может понадобиться getenv() вместо $_ ENV
Ответ 7
Но он не работает с El Capitan. Вы должны отключить Защита целостности системы.
оригинал