Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1169 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Variable définie dans php.ini

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variable définie dans php.ini

n°1850431
brisssou
8-/
Posté le 12-02-2009 à 15:59:30  profilanswer
 

Google et la recherche ne m'ont pas aisé.
 
voilà donc mon problème.
 
Pour un projet quelconque, on utilise Zend et Zend_Conf_Xml pour loader la conf du site.
 
Évidemment, la conf est différente entre les serveurs de dev, de recette et de prod. Zend_Conf nous permet de faire de façon pas trop dégueux à priori.
 
Donc le problème : comment savoir quelle conf loader suivant le serveur sur lequel on est ? tout ça sans modifier le code déployé.
 
On a pensé mettre une variable dans php.ini, genre

Code :
  1. env = 'dev'

mais un ini_get('env') ne donne pas trop la réponse attendue.
 
Si on pouvais faire marcher cette solution, ça nous semblerai plus propre dans le sens où il n'y a pas besoin de modifier de code en dur pour savoir quoi charger, ni même un fichier texte/ini/xml. Le serveur nous dit qui il est. Et la modification de php.ini est faite une fois pour toute.
 
qu'est-ce qu'on a raté ??
 
merci de votre aide !


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
mood
Publicité
Posté le 12-02-2009 à 15:59:30  profilanswer
 

n°1850462
fluminis
Posté le 12-02-2009 à 16:23:40  profilanswer
 

souvent j'ai un seul fichier de conf, dans lequel je fais un truc du style :
 
switch ($_SERVER[' SERVER_NAME ']) {
   case 'monsite.com':
      $CONF = ...
      break;
   default:
      $CONF = ...
}
 
ce qui m'evite en cas d'ecrasement du fichier de conf par inadvertance de ne pas mettre KO le site.
 
Bon apres, c'est pas forcement la solution elegante que tu cherchais.
 
Tu peux peut-etre modifier ca pour que le switch inclu un fichier different en fonction de l'environnement, afin que les developpeurs n'aient pas les acces à la prod...


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1850466
brisssou
8-/
Posté le 12-02-2009 à 16:33:51  profilanswer
 

les développeurs, c'est nous, c'est pas tant l'accès à la prod qui nous dérange, mais le fait de devoir potentiellement faire des manip' sur des fichiers lors du déploiement.
 
Le coup du serveur name, on y a pensé, mais crée des problèmes avec localhost.
Quand on développe, on accède à notre machine en local, donc server_name=localhost. Mais quand on fait des démos aux clients, il arrive qu'ils accèdent à nos machines et là, server_name=@IP. problème aussi si le serveur de prod/dev/recette change, etc...
 
merci en tout cas


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1850469
fluminis
Posté le 12-02-2009 à 16:38:55  profilanswer
 

J'ai eu le meme soucis, je l'avais resolu en mettant plusieurs case pour la meme conf
 
en gros : tout ce qui pouvait etre du dev dans les case et le defaut pour la conf du serveur :
 
switch ($_SERVER[' SERVER_NAME ']) {  
   case 'localhost':
   case 'ip.local1':
   case 'ip.local2':
      $CONF = ...  
      break;  
   default:
      $CONF = ...  
}
 
j'avais inversé dans mon exemple pour que ce soit plus parlant :)
mais je suis d'accord avec toi que c'est pas la solution ultime.
si il y a mieux, je suis interessé par la solution


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1850589
grosbin
OR die;
Posté le 12-02-2009 à 21:49:48  profilanswer
 

Il reste parfois des variables vide selon la conf de ton server local / distant ..
ça peut être une piste, il m'est arrivé de le faire


---------------
Photos Panoramiques Montagnes Haute Savoie
n°1850666
brisssou
8-/
Posté le 13-02-2009 à 08:31:22  profilanswer
 

donc tu me confirmes qu'il n'y a pas moyen d'ajouter de nouvelle variable ?
 
et galère...
 
avec un serveur J2EE, il y a moyen de faire ça, c'est dommage qu'on ne puisse pas avec PHP, ou même apache, chui pas sectaire...


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1850867
brisssou
8-/
Posté le 13-02-2009 à 15:17:41  profilanswer
 

bon j'ai setté l'option auto_prepend_file dans php.ini. Dans le fichier que je prepend, il y a define ('ENV', 'dev')....
 
je trouve ça crade, mais ça fait ce que je veux avec des features classiques non détournées...


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1850875
Profil sup​primé
Posté le 13-02-2009 à 15:28:20  answer
 

Ce qu'on faisait à l'époque c'est qu'on avait un fichier de config dans un folder qu'on ne commitait pas. Il avait même une extension relou qui était bloquée dans le rsync si jamais ca passait jusqu'en dev.
Ce truc était inclu après le framework donc tout était dispo dans ce fichier, on faisait ce qu'on voulait. Donc bien pratique pour le debug à la fourche.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variable définie dans php.ini

 

Sujets relatifs
configurer la variable $message en html[C#] - Envoi d'email avec variables
Comparer un caractere precis d'une chaine (variable)[PHP] Variable non définie ?!
POST d'une variable définie dans un formulaire pr insertion ds BDUne variable est mal definie .. help .. (grosse fatigue)
savoir si une variable est définie en testant le début du nom[resolu]Erreur de variable non definie
Utiliser une variable définie en javascript dans le code asp[PHP]Lire une ligne definie et mettre le contenu dans une variable
Plus de sujets relatifs à : Variable définie dans php.ini


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR