Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[ModPerl2] Multi-sites et modules ayant le même nom.

7 réponses
Avatar
Isammoc
Bonjour à toute la communauté.
J'ai cherché sans succès une documentation sur mon problème (sûrement
que je ne connais pas les bons termes à chercher).

Je suis en train de développer une application web en perl.
J'utilise donc Apache2 et mod_perl2.
Et j'aimerais avoir plusieurs versions de sites.

/var/www/dev/
/var/www/preprod/
/var/www/test1/
etc...

J'aimerais savoir si il y a un moyen d'avoir un @INC différent pour chacun ?
Car étant des versions différentes du même site, les modules ont des
noms semblables (ex My::Module) mais sont placés dans des répertoires
différents.
Il faut donc que ce soient des sites vraiment différents mais hébergés
par le meme Apache...

Je viens de me relire et vois que je ne suis pas vraiment clair.
Toutes mes excuses et mille mercis d'avance.

--
Isammoc

7 réponses

Avatar
Nicolas George
Isammoc wrote in message <erefjl$1e93$:
J'aimerais savoir si il y a un moyen d'avoir un @INC différent pour chacun ?
Car étant des versions différentes du même site, les modules ont des
noms semblables (ex My::Module) mais sont placés dans des répertoires
différents.
Il faut donc que ce soient des sites vraiment différents mais hébergés
par le meme Apache...


Je crois bien que ce n'est pas possible. Mais vouloir faire coexister
différentes versions du _code_ me semble assez bizarre de toutes façons.

Avatar
Isammoc
J'aimerais savoir si il y a un moyen d'avoir un @INC différent pour chacun ?
Car étant des versions différentes du même site, les modules ont des
noms semblables (ex My::Module) mais sont placés dans des répertoires
différents.
Il faut donc que ce soient des sites vraiment différents mais hébergés
par le meme Apache...


Je crois bien que ce n'est pas possible. Mais vouloir faire coexister
différentes versions du _code_ me semble assez bizarre de toutes façons.


Ce n'est qu'à des fins de développement et de tests.
Notemment faire des tests comparatifs de rapidité entre la version
d'untel ou d'untel...
Pouvoir faire des tests d'upgrade de code, etc...

J'espère bien que c'est possible. Sinon, je n'ai plus qu'à faire tourner
plusieurs processus d'apache écoutant sur des ports différents... :'(

--
Isammoc


Avatar
Isammoc
Je réitère ma question.

J'aimerais pouvoir faire coexister plusieurs versions du même sites (à
des fins de développement parallèle) avec le même Apache 2.
Pour cela, il faudrait que chaque script appelle les Modules
correspondants à sa version (dev1, dev2, etc...) sachant que ces modules
ont exactement le même nom.
Y a-t-il un moyen de configurer Apache2 ou modperl2 afin que chaque site
utilise ses propres modules ?

Merci de votre aide.
Avatar
Isammoc
Je réitère ma question.

J'aimerais pouvoir faire coexister plusieurs versions du même sites (à
des fins de développement parallèle) avec le même Apache 2.
Pour cela, il faudrait que chaque script appelle les Modules
correspondants à sa version (dev1, dev2, etc...) sachant que ces modules
ont exactement le même nom.
Y a-t-il un moyen de configurer Apache2 ou modperl2 afin que chaque site
utilise ses propres modules ?

Merci de votre aide.
Avatar
Isammoc
Je réitère ma question.

J'aimerais pouvoir faire coexister plusieurs versions du même sites (à
des fins de développement parallèle) avec le même Apache 2.
Pour cela, il faudrait que chaque script appelle les Modules
correspondants à sa version (dev1, dev2, etc...) sachant que ces modules
ont exactement le même nom.
Y a-t-il un moyen de configurer Apache2 ou modperl2 afin que chaque site
utilise ses propres modules ?

Merci de votre aide.
Avatar
Jogo
Y a-t-il un moyen de configurer Apache2 ou modperl2 afin que chaque
site utilise ses propres modules ?


Je ne pense pas. Qu'as-tu déjà essayé ? As-tu par exemple essayé
d'utiliser SetEnv ?

Bon courage...
--
When a woman marries again it is because she detested her first husband.
When a man marries again, it is because he adored his first wife.
-- Oscar Wilde

Avatar
Jogo
Sur fr.comp.lang.perl, Isammoc disait :

Pour préciser la chose (je ne sais pas si je l'ai déjà précisé), Ce
sont des sites de types VirtualHost (donc des sites virtuels ^^ ) et
qui devrait ne rien avoir en commun.


En fait les VirtualHost ont beaucoups en commun, notamment le processus
(et/ou thread) qui sert la requête. Et c'est à ce niveau que les
modules sont "compilés", et ils le sont une seule fois par processus.
Pour pouvoir faire ce que tu veux, il faudrait donc :
- soit que mod_perl gère autant d'espaces de noms de module qu'il y a
de VirtualHost : c'est impossible ;
- soit qu'apache assigne chaque processus à un seul VirtualHost, et ça
je n'ai pas trouvé comment faire.

--
Chalut la foule , ça veut dire regardez ce que je vais répondre
à l'autre, déjà c'est une remarque méprisante envers quelqu'un qui ne
t'a rien fait
-+- Fr in GNU - Ch'est chcandaleux : che me chui fait inchulter ! -+-