我假设 MAMP 环境变量可以在 ~/.bash_profile 中设置,但似乎在那里设置它们并不总是立即生效。例如,我只是在我的 .bash_profile 中设置了一个变量,并尝试重新启动 MAMP 服务器、重新启动 MAMP 本身,甚至注销我的计算机,但似乎没有任何效果。在我的环境中仍然无法访问该变量。是否有另一种方法来设置我缺少的 MAMP 环境变量,或者是否有需要清除的缓存?
提前致谢。
additional parameters for <VirtualHost>:
您还可以在主机设置面板的扩展选项卡中的部分中在 MAMP Pro(MAMP 中不可用)中设置 PHP 环境变量。
屏幕截图来自 MAMP Pro v 3.0.3
MAMP 将/Applications/MAMP/Library/bin/envvars
在启动 apache 时将 的内容加载到其环境变量中。因此,您可以编辑文件并添加:
MY_VAR="foo"
export MY_VAR
然后像这样访问该变量:
echo $_ENV["MY_VAR"];
印刷:
foo
OSX Yosemite 更新:
重命名envvars
为_envvars
您可以在 Apache 配置中设置环境变量...
/Applications/MAMP/conf/apache/httpd.conf
SetEnv MY_VAR theValue
SetEnv ANOTHER thisIsTheValue
MAMP 正在寻找“/Applications/MAMP/Library/bin/envvars”,如果文件没有,只需创建它并添加您的环境变量。
我假设您在谈论本地服务器?
我注意到,如果您查看 apache 可以运行多个实例的进程,您可能需要检查这些进程。如果是,请单独退出它们,因为在重新启动所有实例之前,重新启动不会接受新的更改。有什么可以尝试的。
如果您仍然无法获取环境变量:
你可能需要编辑你真正的httpd.conf
~/库/应用程序支持/appsolute/MAMP PRO/
代替
/应用程序/MAMP/conf/apache/
此外,您可能需要使用getenv()而不是$_ENV