web-dev-qa-db-ja.com

MAMPで環境変数を設定しますか?

MAMP環境変数は〜/ .bash_profileで設定できると思いますが、そこで設定してもすぐに有効になるとは限りません。たとえば、.bash_profileに変数を設定し、MAMPサーバーの再起動、MAMP自体の再起動、さらにはコンピューターからのログアウトまで試したところ、何も動作しないようです。環境内から変数にアクセスできません。 MAMP環境変数を設定する別の方法はありませんか、それともキャッシュをクリアする必要がありますか?

前もって感謝します。

26
jhnnycrvr

MAMPは、Apacheの起動時に/Applications/MAMP/Library/bin/envvarsの内容を環境変数にロードします。したがって、ファイルを編集して追加できます。

MY_VAR="foo"
export MY_VAR

次に、その変数に次のようにアクセスします。

echo $_ENV["MY_VAR"];

プリント:

foo

OSX Yosemiteのアップデート:

envvars_envvarsに名前変更

参照: ヨセミテに更新されたMavericksのMAMP Pro 3.05-Apacheが起動しない

33
sxalexander

ホスト設定パネルの拡張タブにあるadditional parameters for <VirtualHost>:セクションで、MAMP Pro(MAMPでは使用不可)でPHP環境変数を設定することもできます。

mamp setting php environment variable

スクリーンショットはMAMP Pro v 3.0.3のものです

33
Mike Grace

MAMPは「/アプリケーション/ MAMP /ライブラリ/ bin/envvars」を探しています。ファイルが見つからない場合は、単に作成して環境変数を追加します。

4
martinedwards

Apache構成で環境変数を設定できます...

/Applications/MAMP/conf/Apache/httpd.conf

SetEnv MY_VAR theValue
SetEnv ANOTHER thisIsTheValue
4
doublejosh

私はあなたがローカルサーバーについて話していると思いますか?

Apacheが複数のインスタンスを実行している可能性のあるプロセスを確認すると、確認する必要があるかもしれません。変更されている場合は、すべてのインスタンスが再起動されるまで再起動で新しい変更が反映されないため、個別に終了します。試してみてください。

0
TNC

ただし、El Capitanでは機能しません。 System Integrity Protection を無効にする必要があります。

オリジナル

0
fdrv

それでも環境変数を取得できない場合:

real httpd.confを編集する必要があるかもしれません

〜/ライブラリ/ Application Support/appsolute/MAMP PRO /

の代わりに

/アプリケーション/ MAMP/conf/Apache /

$ _ ENVの代わりにgetenv()を使用する必要がある場合もあります

0
Sebastien Horin