Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Je sens venir l'échéance où sur le même serveur je vais avoir des sites Web qui vont tourner avec des versions différentes de ZF.
J'ai imaginé d'inclure le framework dans l'arborescence de l'application. C'est redondant, ok, mais je ne prends pas de risque.
Je tourne en prod avec Zend Core et quel est la façon la plus simple d'obliger une appli à prendre les classes du framework dans un répertoire précis en ignorant les autres versions ?
La version 2.0 de ZF nécessitera forcément PHP 5.3 ou non ?
Que de questions angoissantes pour le futur...
Hors ligne
Hello,
Pour ma part, j'ai autant de ZF que d'applications. Le ZF n'est pas dans l'include_path du php.ini. L'include_path est paramètré au chargement de l'application.
Pour ZF2.0 et PHP5.3, rien n'est fait. Il y a d'abord les 1.6.x, puis la 1.7 plutôt axé performances générales (2009).
A+
Hors ligne
Bonjour,
Moi j'ai 3 ou 4 versions du ZF sur chaque serveur et je modifie le include_path dans les fichiers de config de chaque appli pour faire pointer sur la bonne version du ZF (comme Mikaelkael).
Par contre j'évite de mettre le ZF dans l'appli parce que ça n'est pas optimal quand je dois upgrader le ZF vers une nouvelle version mineure (de 1.5.2 à 1.5.3 par exemple). J'utilise svn pour mes sources, ça serait le bronx de remplacer tout un répertoire ZF pour le mettre à jour.
A+, Philippe
Hors ligne
Pour ma part aussi j'ai la version de ZF directement dans l'appli, ce n'est pas le plus propre, mais c'est le plus simple.
J'ai cependant une question.
Je modifie le include_path avec des ini_get/ini_set comme dans l'exemple ci dessous, mais il parait que c'est assez gourmand en ressource. Est-ce vrai ? Qu'utilisez vous de votre côté ?
$sIncludePath = ini_get('include_path'); $sIncludePath .= PATH_SEPARATOR . dirname(dirname(__FILE__)) . '/data/library/ZendFramework/library'; $sIncludePath .= PATH_SEPARATOR . dirname(dirname(__FILE__)) . '/data/application/modules'; $sIncludePath .= PATH_SEPARATOR . dirname(dirname(__FILE__)) . '/data/application/models'; $sIncludePath .= PATH_SEPARATOR . dirname(dirname(__FILE__)) . '/data/application/libs'; $sIncludePath .= PATH_SEPARATOR . dirname(dirname(__FILE__)) . '/data/library'; $sIncludePath .= PATH_SEPARATOR . dirname(dirname(__FILE__)) . '/data/library/TemplatesEngines/PhpTal'; ini_set('include_path', $sIncludePath);
Dernière modification par neojick (16-09-2008 14:49:08)
Hors ligne
Moi, c'est dans le include_path de php.ini, car sur mes bsd, le package existe et est installé dans /usr/local/share
Maintenant, si je sais que je vais distribuer l'application sur une machine que je ne connais pas et ou je ne peux pas controller les upgrades, je le laisse avec.
Hors ligne
Merci pour toutes ces réponses.
Jusque là, quand le ZF évolue, je change le nom du répertoire du ZF et je mets la nouvelle version du ZF dans un répertoire avec le nom qui est dans l'include.
Et puis je test mes sites en local sur les traitements les plus critiques.
Si tout va bien je passe le nouveau ZF en prod et je trace mes log applicatives de prés pendant quelques jours.
Mais là je vais avoir du mal à avoir toutes mes appli alignées avec la même version du ZF.
Donc merci pour vos réponses.
Hors ligne
L'utilisation de lien symoblique peut être utile aussi :
ZendFramework -> ZendFramework-1.5.3
suffit de changer le lien symbolique sans touché à la conf de PHP
Hors ligne
include_path dans le vhost directement pour ma part, pour l'emplacement du ZF ça dépend , le plus possible dans un repértoire libraries globale à tous les sites
Dernière modification par yannux (17-09-2008 14:18:23)
Hors ligne
Moi j'ai mis 2 versions de php avec des php.ini différents et donc des includes différents pour pouvoir justement avoir des environnements séparés. Du coup j'ai 2 apaches, un test et l'autre comme le prod.
Pour le ZF, c'est le même pour tous les sites en test et un autre pour la prod. Mes 2 apaches me permettent de tester avec les maj ZF en conditions prod ou test.
Hors ligne
Pages: 1