更改 MAMP 中的 PATH 环境变量

rom*_*lem 4 php macos mamp

我需要更新MAMP v3.4服务器中的PATH变量。

如您所见, Apache 使用的PATH环境变量与我打开终端时使用的PATH不匹配。

<?php
  passthru('env');
  die();
Run Code Online (Sandbox Code Playgroud)

上面的脚本打印出:

...
PATH=/usr/bin:/bin:/usr/sbin:/sbin
...
Run Code Online (Sandbox Code Playgroud)

同时,我运行终端时的路径是:

$ env
  ...
  PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

我已经尝试过此处此处提供的解决方案,但没有一个有效。

设置环境变量似乎很有希望,但在设置PATH/Applications/MAMP/conf/apache/httpd.conf时不起作用。

# Near the top of my httpd.conf file...
SetEnv MY_TEST_DETAIL foo
SetEnv PATH /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

我重新启动我的 MAMP 服务器,然后查看phpinfo()

阿帕奇环境变量

如您所见,它添加了MY_TEST_DETAIL环境变量,但没有更改PATH

And*_*gra 6

在 OSX 的 MAMP 4.0.6 中,我能够通过执行以下操作来更新 Apache 环境路径:

首先检查/Applications/MAMP/Library/bin/apachectl是否有注释行:

#pick up any necessary environment variables
Run Code Online (Sandbox Code Playgroud)

在此行下方,您应该会看到 MAMP 将加载环境变量的路径。

我的说:

/Applications/MAMP/Library/bin/envvars
Run Code Online (Sandbox Code Playgroud)

/Applications/MAMP/Library/bin路径中您应该看到一个名为envvars_.

复制此文件并重命名envvars并添加以下行:

export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin"
Run Code Online (Sandbox Code Playgroud)

现在重新启动您的 MAMP 服务器。phpinfo 现在应该具有更新的路径信息。

  • 我以为我之前尝试过这个,但发现它不起作用(Apache 甚至无法启动)。经过更多的摆弄之后,我通过注释掉“if test "x$DYLD_LIBRARY_PATH"”块以及最终的“export DYLD_LIBRARY_PATH”命令来让它工作。因此,我的“envvars”文件基本上只在底部包含“export PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin”。现在,我的 **PATH** 环境变量已更改。谢谢!对我有用。 (4认同)