web-dev-qa-db-fra.com

Définition de variables d'environnement dans MAMP?

Je suppose que les variables d'environnement MAMP peuvent être définies dans ~/.bash_profile, mais il semble que les définir ici ne prend pas toujours effet immédiatement. Par exemple, je viens de définir une variable dans mon fichier .bash_profile et j'ai essayé de redémarrer les serveurs MAMP, de redémarrer MAMP lui-même et même de me déconnecter de mon ordinateur et rien ne semble fonctionner. La variable n'est toujours pas accessible depuis mon environnement. Existe-t-il un autre moyen de définir les vars env MAMP qui me manquent ou existe-t-il un cache que je dois vider?

Merci d'avance.

22
jhnnycrvr

MAMP chargera le contenu de /Applications/MAMP/Library/bin/envvars dans ses variables d'environnement lors du démarrage d'Apache. Vous pouvez donc éditer le fichier et ajouter:

MY_VAR="foo"
export MY_VAR

Ensuite, accédez à cette variable comme suit:

echo $_ENV["MY_VAR"];

impressions:

foo

Mise à jour pour OSX Yosemite:

renommer envvars en _envvars

Voir: MAMP Pro 3.05 sur Mavericks mis à jour vers Yosemite - Apache ne démarre pas

33
sxalexander

Vous pouvez également définir les variables d'environnement PHP dans MAMP Pro (non disponible dans MAMP) dans la section additional parameters for <VirtualHost>: située dans l'onglet étendu du panneau de configuration des hôtes.

mamp setting php environment variable

La capture d'écran provient de MAMP Pro v 3.0.3

31
Mike Grace

MAMP recherche "/ Applications/MAMP/Library/bin/envvars". Si le fichier ne le fait pas, créez-le simplement et ajoutez vos variables d'environnement.

4
martinedwards

Vous pouvez définir vos variables d'environnement dans la configuration d'Apache ...

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

SetEnv MY_VAR theValue
SetEnv ANOTHER thisIsTheValue
4
doublejosh

Je suppose que vous parlez d'un serveur local?

J'ai remarqué que, si vous examinez les processus, plusieurs instances en cours d'exécution d'Apache peuvent être vérifiées. Si tel est le cas, quittez-les individuellement, car le redémarrage ne prendra pas les nouvelles modifications avant le redémarrage de toutes les instances. Quelque chose d'essayer.

0
TNC

Mais ça ne marche pas avec El Capitan. Vous devez désactiver Protection de l'intégrité du système .

original

0
fdrv

Si vous ne pouvez toujours pas obtenir vos variables d'environnement:

vous devrez peut-être modifier votre real httpd.conf dans

~/Bibliothèque/Application Support/appsolute/MAMP PRO /

au lieu de

/ Applications/MAMP/conf/Apache /

Aussi, vous devrez peut-être utiliser getenv () au lieu de $ _ENV

0
Sebastien Horin