27

我假设 MAMP 环境变量可以在 ~/.bash_profile 中设置,但似乎在那里设置它们并不总是立即生效。例如,我只是在我的 .bash_profile 中设置了一个变量,并尝试重新启动 MAMP 服务器、重新启动 MAMP 本身,甚至注销我的计算机,但似乎没有任何效果。在我的环境中仍然无法访问该变量。是否有另一种方法来设置我缺少的 MAMP 环境变量,或者是否有需要清除的缓存?

提前致谢。

4

7 回答 7

39

additional parameters for <VirtualHost>:您还可以在主机设置面板的扩展选项卡中的部分中在 MAMP Pro(MAMP 中不可用)中设置 PHP 环境变量。

mamp设置php环境变量

屏幕截图来自 MAMP Pro v 3.0.3

于 2014-03-31T21:59:29.737 回答
36

MAMP 将/Applications/MAMP/Library/bin/envvars在启动 apache 时将 的内容加载到其环境变量中。因此,您可以编辑文件并添加:

MY_VAR="foo"
export MY_VAR

然后像这样访问该变量:

echo $_ENV["MY_VAR"];

印刷:

foo

OSX Yosemite 更新:

重命名envvars_envvars

请参阅:Mavericks 上的 MAMP Pro 3.05 更新为 Yosemite - Apache 无法启动

于 2012-07-04T02:19:44.343 回答
6

您可以在 Apache 配置中设置环境变量...

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

SetEnv MY_VAR theValue
SetEnv ANOTHER thisIsTheValue
于 2015-10-16T09:11:19.537 回答
3

MAMP 正在寻找“/Applications/MAMP/Library/bin/envvars”,如果文件没有,只需创建它并添加您的环境变量。

于 2016-03-20T14:42:12.837 回答
0

我假设您在谈论本地服务器?

我注意到,如果您查看 apache 可以运行多个实例的进程,您可能需要检查这些进程。如果是,请单独退出它们,因为在重新启动所有实例之前,重新启动不会接受新的更改。有什么可以尝试的。

于 2012-06-29T04:34:03.350 回答
0

如果您仍然无法获取环境变量:

你可能需要编辑你真正的httpd.conf

~/库/应用程序支持/appsolute/MAMP PRO/

代替

/应用程序/MAMP/conf/apache/

此外,您可能需要使用getenv()而不是$_ENV

于 2016-01-13T23:53:11.587 回答
0

但它不适用于 El Capitan。您应该禁用系统完整性保护

原来的

于 2016-03-23T16:06:24.703 回答