jhnnycrvr
jhnnycrvr

Reputation: 817

Setting Environment Variables in MAMP?

I assume that MAMP environment variables can be set in ~/.bash_profile, but it seems that setting them there does not always take effect right away. For instance, I just set a variable in my .bash_profile and have tried restarting MAMP servers, restarting MAMP itself, and even logging out of my computer and nothing seems to work. The variable is still not accessible from within my environment. Is there another way to set MAMP env vars that I'm missing or is there a cache that I need to clear?

Thanks in advance.

Upvotes: 29

Views: 27810

Answers (7)

fdrv
fdrv

Reputation: 890

But it doesn't work with El Capitan. You should disable System Integrity Protection.

original

Upvotes: 0

martinedwards
martinedwards

Reputation: 5825

MAMP is looking for "/Applications/MAMP/Library/bin/envvars", if the file doesn't, simply create it and add your environment variables.

Upvotes: 3

Sebastien Horin
Sebastien Horin

Reputation: 11067

If you still can't get your environment variables:

you may need to edit your real httpd.conf in

~/Library/Application Support/appsolute/MAMP PRO/

instead of

/Applications/MAMP/conf/apache/

Also you may need to use getenv() instead of $_ENV

Upvotes: 0

doublejosh
doublejosh

Reputation: 5774

You can set your environment variables in Apache configuration...

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

SetEnv MY_VAR theValue
SetEnv ANOTHER thisIsTheValue

Upvotes: 7

sxalexander
sxalexander

Reputation: 748

MAMP will load the contents of /Applications/MAMP/Library/bin/envvars into its environment variables when starting apache. So you can edit the file and add:

MY_VAR="foo"
export MY_VAR

Then access that variable like so:

echo $_ENV["MY_VAR"];

prints:

foo

Update for OSX Yosemite:

rename envvars to _envvars

See: MAMP Pro 3.05 on Mavericks updated to Yosemite - Apache does not start

Upvotes: 38

Mike Grace
Mike Grace

Reputation: 16924

You can also set PHP environment variables in MAMP Pro (not available in MAMP) in the additional parameters for <VirtualHost>: section found in the extended tab of the hosts settings panel.

mamp setting php environment variable

Screenshot is from MAMP Pro v 3.0.3

Upvotes: 43

TNC
TNC

Reputation: 5386

I'm assuming you're talking about a local server?

I've noticed, if you look at the processes that apache can have multiple instance running that you might need to check. If they are, quit out of them individually, as the restart won't take the new changes until all instances are restarted. Something to try.

Upvotes: 0

Related Questions