我假设可以在〜/ .bash_profile中设置MAMP环境变量,但似乎在那里设置它们并不总是立即生效。例如,我只是在我的.bash_profile中设置了一个变量,并尝试重新启动MAMP服务器,重新启动MAMP本身,甚至退出我的计算机,似乎没有任何工作。仍无法从我的环境中访问该变量。有没有其他方法来设置我缺少的MAMP环境变量或者是否需要清除缓存?
提前致谢。
答案 0 :(得分:33)
启动apache时,MAMP会将/Applications/MAMP/Library/bin/envvars
的内容加载到其环境变量中。所以你可以编辑文件并添加:
MY_VAR="foo"
export MY_VAR
然后像这样访问该变量:
echo $_ENV["MY_VAR"];
打印:
foo
OSX优胜美地的更新:
将envvars
重命名为_envvars
请参阅:MAMP Pro 3.05 on Mavericks updated to Yosemite - Apache does not start
答案 1 :(得分:32)
您还可以在主机设置面板的扩展选项卡中的additional parameters for <VirtualHost>:
部分中的MAMP Pro中设置PHP环境变量(在MAMP中不可用)。
屏幕截图来自MAMP Pro v 3.0.3
答案 2 :(得分:4)
您可以在Apache配置中设置环境变量...
/Applications/MAMP/conf/apache/httpd.conf
SetEnv MY_VAR theValue
SetEnv ANOTHER thisIsTheValue
答案 3 :(得分:4)
MAMP正在寻找&#34; / Applications / MAMP / Library / bin / envvars&#34;,如果文件没有,只需创建它并添加你的环境变量。
答案 4 :(得分:0)
我假设你在谈论本地服务器?
我注意到,如果你看一下apache可以运行多个实例的进程你可能需要检查。如果是,则单独退出它们,因为重新启动将不会进行新的更改,直到重新启动所有实例。有点值得尝试。
答案 5 :(得分:0)
如果您仍然无法获取环境变量:
您可能需要在
中编辑真实 httpd.conf〜/ Library / Application Support / appolute / MAMP PRO /
而不是
/应用程序/ MAMP / CONF /阿帕奇/
此外,您可能需要使用 getenv()而不是 $ _ ENV
答案 6 :(得分:0)
但它不适用于El Capitan。您应该停用System Integrity Protection。