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