OVH Community

Bienvenue sur votre espace communautaire. Posez des questions, recherchez des informations, publiez du contenu et interagissez avec d’autres membres OVH Community.

Définir ses propres variables d'environnement


#1

Bonjour,

Je souhaite mettre un site en ligne qui se trouve dans un sous dossier du www sur mon hébergement mutualisé.

Ce site est développé avec Symfony 4 et ce dernier nécessite de configurer certaines variables d'environnement (ex DATABASE_URL pour la connection à la base de donnée) au travers des variables d'environnement Apache.

J'ai essayé de mettre un fichier .htaccess avec la directive SetEnv à l'intérieur mais je ne retrouve pas cette variable définie au sein de la variable $_ENV.

Quelqu'un saurait il comment procéder pour définir des variables d'environnement ?

Merci d'avance


#2

As-tu essayé de les insérer dans un fichier include appelé au début de chaque page ?
--> http://fr2.php.net/manual/fr/function.ini-set.php


#3

Cette méthode agit sur les variables qui configurent le comportement et les limitations de PHP. La variable $_ENV est un peu différente dans mon esprit. Mais j'ai pensé en dernier recours à setter les variables voulues mais c'est une solution "sale"


#4

Heu! Heu! Pourquoi ?


#5

Ca marcherait probablement mais la documentation symfony semble préciser que la valeur des variables doit etre setter en ligne de commande (ils citent l'exemple de Nginx) ou par les moyens mis à disposition par le prestataires de services (ovh ici).


#6

Où là là, je laisse ma place aux experts.


#7

:) .... Personnellement je suis un peu dépassé sur ce point et pas du tout calé en configuration de serveur.


#8

Salut,
sur ce lien, je pense que tu devrais trouver ta réponse.

Cdlt.


#9

Bonjour ,

Effectivement c'est fort possible que cela réponde à mes attentes. Je test ça au plus tôt et j'essaye de ne pas oublier de confirmer la solution.

Merci


#10

Bonjour Nicolas,
Je rencontre le même problème que toi et la méthode décrite dans le tutoriel Jobeet ne semble pas fonctionner.
As-tu trouvé une solution ?
Cordialement.


#11

Bonjour,

J'en suis arrivé à la conclusion qu'Ovh, sur un hébergement mutualisé, n'autorisait pas l'exécution de l'instruction setEnv sur le Htaccess et que donc, je ne pouvais définir des variables d'environnement par ce biais.
J'ai fixé les variables au travers d'un fichier. C'est pas l'idéal mais pour un projet personnel, sur un mutualisé, cela fera l'affaire.
Cordialement


#12

à une époque SI.

Maintenant NON : Quelles versions de PHP sont disponibles ? :


#13

Bonjour @NicolasC22,

Effectivement, il est impossible de modifier les variables d'environnement d'une même machine avec des ressources partagées, car cela expose les différents utilisateurs de la-dite machine a des possibles problèmes (vu que l'accès aux variables est unique en soit).

Cependant, il s'agit d'une fonctionnalité disponible sur notre nouvelle offre Cloud Web qui devrait arriver sous très peu de temps (avec notamment l'utilisation d'un runtime nodejs possible aussi).

Cette offre est disponible gratuitement dans le lab OVH pour l'instant :)

Bonne journée,
Pierrick - Equipe Webhosting


#14

J'ai également une application qui utilise SetEnv dans .htaccess pour communiquer au programme php que certains headers ont été configurés.

<IfModule mod_headers.c>
<IfModule mod_env.c>
    Header set X-XSS-Protection "1; mode=block"
    SetEnv modHeadersAvailable true
</IfModule>
</IfModule>

Ceci ne fonctionne pas sur mon serveur web mutualisé OVH

getenv('modHeadersAvailable') // ne retourne pas 'true'

Une astuce est que ça fonctionne si la variable commence par HTTP_

SetEnv HTTP_modHeadersAvailable true
getenv('HTTP_modHeadersAvailable') === 'true' // retourne true