Настройка переменных среды в MAMP?
Я предполагаю, что переменные среды MAMP могут быть установлены в ~/.bash_profile, но, похоже, их установка там не всегда вступает в силу сразу. Например, я просто установил переменную в своем файле .bash_profile и попытался перезапустить серверы MAMP, перезапустить сам MAMP и даже выйти из своего компьютера, и, похоже, ничего не работает. Переменная по-прежнему недоступна из моей среды. Есть ли другой способ установить значения MAMP env, которые мне не хватает, или есть кэш, который я нужно очистить?
Заранее благодарю.
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 не запускается
Вы также можете установить переменные среды PHP в MAMP Pro (недоступно в MAMP) в разделе additional parameters for <VirtualHost>:
, расположенном на вкладке "Расширенные" панели настроек хостов.
Скриншот взят из MAMP Pro v 3.0.3
Вы можете задать переменные среды в конфигурации Apache...
/Applications/MAMP/conf/apache/httpd.conf
SetEnv MY_VAR theValue
SetEnv ANOTHER thisIsTheValue
MAMP ищет "/Приложения/MAMP/Библиотека/bin/envvars", если файл этого не делает, просто создайте его и добавьте переменные среды.
Я предполагаю, что вы говорите о локальном сервере?
Я заметил, что если вы посмотрите на процессы, в которых apache может работать несколько экземпляров, которые вам, возможно, потребуется проверить. Если это так, выйдите из них по отдельности, так как перезапуск не внесет новых изменений, пока все экземпляры не будут перезапущены. Что-то, что нужно попробовать.
Если вы все еще не можете получить переменные среды:
Возможно, вам потребуется отредактировать ваш реальный httpd.conf в
~/Библиотека/Поддержка приложений/appsolute/MAMP PRO/
Вместо
/Приложения/MAMP/conf/apache/
Также вам может потребоваться использовать getenv() вместо $_ENV
Но это не работает с El Capitan. Вам следует отключить Защиту целостности системы.