Настройка переменных среды в MAMP?


Я предполагаю, что переменные среды MAMP могут быть установлены в ~/.bash_profile, но, похоже, их установка там не всегда вступает в силу сразу. Например, я просто установил переменную в своем файле .bash_profile и попытался перезапустить серверы MAMP, перезапустить сам MAMP и даже выйти из своего компьютера, и, похоже, ничего не работает. Переменная по-прежнему недоступна из моей среды. Есть ли другой способ установить значения MAMP env, которые мне не хватает, или есть кэш, который я нужно очистить?

Заранее благодарю.

Author: jhnnycrvr, 2012-06-29

7 answers

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 не запускается

 33
Author: sxalexander, 2017-05-23 10:31:35

Вы также можете установить переменные среды PHP в MAMP Pro (недоступно в MAMP) в разделе additional parameters for <VirtualHost>:, расположенном на вкладке "Расширенные" панели настроек хостов.

mamp setting php environment variable

Скриншот взят из MAMP Pro v 3.0.3

 30
Author: Mike Grace, 2014-07-10 22:52:53

Вы можете задать переменные среды в конфигурации Apache...

/Applications/MAMP/conf/apache/httpd.conf

SetEnv MY_VAR theValue
SetEnv ANOTHER thisIsTheValue
 4
Author: doublejosh, 2015-10-16 09:11:19

MAMP ищет "/Приложения/MAMP/Библиотека/bin/envvars", если файл этого не делает, просто создайте его и добавьте переменные среды.

 4
Author: martinedwards, 2016-03-20 14:42:12

Я предполагаю, что вы говорите о локальном сервере?

Я заметил, что если вы посмотрите на процессы, в которых apache может работать несколько экземпляров, которые вам, возможно, потребуется проверить. Если это так, выйдите из них по отдельности, так как перезапуск не внесет новых изменений, пока все экземпляры не будут перезапущены. Что-то, что нужно попробовать.

 0
Author: TNC, 2012-06-29 04:34:03

Если вы все еще не можете получить переменные среды:

Возможно, вам потребуется отредактировать ваш реальный httpd.conf в

~/Библиотека/Поддержка приложений/appsolute/MAMP PRO/

Вместо

/Приложения/MAMP/conf/apache/

Также вам может потребоваться использовать getenv() вместо $_ENV

 0
Author: Sebastien Horin, 2016-01-14 14:22:18

Но это не работает с El Capitan. Вам следует отключить Защиту целостности системы.

Оригинал

 0
Author: fdrv, 2017-05-23 11:47:11