[Debian] Faire cohabiter PHP5 et PHP4

Fermé
Christophe - 3 août 2007 à 14:46
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 24 août 2007 à 13:26
Je dispose de PHP 5 et Apache 2 sur une distribution Debian de Linux. Je me sers de ce serveur pour tester plusieurs CMS. Le premier testé, Joomla, supporte PHP5. Cependant, je souhaite maintenant faire cohabiter PHP5 avec PHP4, car eZPublish que je dois tester, ne supporte pas PHP5...

Je n'ai pas trouvé de solution à mon problème sur le forum de commentcamarche.net

J'ai trouvé un tutoriel ou tout est installé en meme temps (PHP4/PHP5/Apache) du coup je ne sais pas si je ne risque pas d'avoir un conflit en le suivant : https://damien.pobel.fr/post/php4-mod-php-et-php5-fastcgi-avec-apache-sous-ubuntu/

- Auriez vous des idées pour faire cohabiter les 2 version de PHP?
- Ou y a t'il une autre solution?

32 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
3 août 2007 à 14:55
Salut,

voilà encore un lien
https://cdemarche.developpez.com/php/php_multi/
si tu ne peux pas tester alors un peu de patience puisque ce week end je vais faire le test :-)
0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3
3 août 2007 à 15:39
Merci pour le lien!!
J'ai voulu tester mais je suis rapidement bloqué... :-(

En fait je ne sais pas comment Apache s'est installé chez moi, mais je ne trouve pas de fichiers:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d

(en fait le répertoire /etc/httpd n'existe pas)

et pas d'utilisteur apache dans le fichier :
/etc/passwd

Je précise que j'ai la version 2.2 d'Apache... Si quelqu'un a une idée d'ou peuvent se trouver les répertoires...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
3 août 2007 à 15:56
Salut,


Je précise que j'ai la version 2.2 d'Apache... Si quelqu'un a une idée d'ou peuvent se trouver les répertoires...

Alors bienvenu sur la variant apache Debian qui est un peu bizzaroide :-D

Sur debian, le fichier httpd.conf ne sers pas à grande chose, c'est ainsi qu'il a decidé l'équipe Debian
Il n'y a pas non plus httpd

Il y a 2 possiblités :

1. installer depuis les sources
Avantage : on garde la même ligne que les developpeurs d'apache ont pensés (et c'est très bien refléchis :-)
Désavantage : l'installation est plus difficile et longue

2. utiliser le paqet debian apache2.....
Avantage : installation simple et rapide
Désavantage : Si quelqu'un a une idée d'ou peuvent se trouver les répertoires...

Comme tu as choisi la variante 2 alors sache que tu trouves les fichiers de configuration dans
/etc/apache2 et que le daemon s'appelle apache2 et pas httpd
0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3
3 août 2007 à 16:29
Yep merci j'avais vu en fait :-)
Donc pour la partie I-3 du tuto je remplace httpd par apache2, donc la copie se passe bien pour le fichier httpd.conf et pour le répertoire conf.d

Mais quand je veux éditer le fichier httpd2.conf (qui est une copie de /etc/apache2/httpd.conf), le problème est que ce fichier est vide!!! Normalement, je devrais trouver une ligne
Listen 80
... Il y a un fichier ports.conf dans le répertoire /etc/apache2 contenant cette ligne. Mais par contre pas de trace des autres paramètres de configuration décrit dans le tutoriel...
- je peux donc rajouter manuellement les paramètres dans le fichier vide?
- ou bien faut il créer un fichier (comme ports.conf) pour chacun des paramètres?


De même, je devrais trouver les fichiers php.conf et ssl.conf dans le répertoire conf.d, mais le répertoire ne contient qu'un seul fichier : charset
- ces fichiers se trouvent ils autre part?

aie je commence vraiment à désespérer lol
peut être vaut il mieux que je suive une solution adaptée à Debian?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
3 août 2007 à 16:44
Mais quand je veux éditer le fichier httpd2.conf (qui est une copie de /etc/apache2/httpd.conf), le problème est que ce fichier est vide!!! Normalement, je devrais trouver une ligne Listen 80

Oui, normalement :-)


... Il y a un fichier ports.conf dans le répertoire /etc/apache2 contenant cette ligne. Mais par contre pas de trace des autres paramètres de configuration décrit dans le tutoriel...
- je peux donc rajouter manuellement les paramètres dans le fichier vide?
- ou bien faut il créer un fichier (comme ports.conf) pour chacun des paramètres?

Non, il ne faut rien créer
Tu peux mettre tes directives dans httpd.conf, puisque il y a un Include dans apache2.conf

De même, je devrais trouver les fichiers php.conf et ssl.conf dans le répertoire conf.d, mais le répertoire ne contient qu'un seul fichier : charset
- ces fichiers se trouvent ils autre part?


Il faut installé les paquets
apt-cache search php | grep apache2 par exemple

aie je commence vraiment à désespérer lol
peut être vaut il mieux que je suive une solution adaptée à Debian?


Bon, les developpeurs debian ont travaillé à moitié.
Ils s'ont changer la structure de configuration d'apache sans faire une documentation adequate (et s'ils l'ont fait alors je demande pardon et que celui qui l'a ça sera gentil de donner le lien :-))


En fait il faut comprendre le principe de configuration de server et puis on s'en fiche, ça marche dans toutes le sens.
A savoir aussi qu'on peut démarrer apache2 avec n'importe quel fichier de configuration (voir l'option -f)
A savoir aussi que si on est habitué avec le nom httpd on peut toujours créer un lien symbolique vers apache2
0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3
3 août 2007 à 17:20
Il faut installé les paquets 
apt-cache search php | grep apache2 par exemple 

Je ne comprends pas ce que tu veux dire lol

- Quelle commande taper pour "installer" le php.conf et le ssl.conf??
- Je ne peux pas simplement créer les fichiers?

J'ai un autre problème, une fois que j'ai créer le fichier /etc/httpd/conf/httpd2.conf d'après le tutoriel, je veux valider sa conformité... mais j'ai un message d'erreur :
apache2: Syntax error on line 5 of /etc/apache2/httpd2.conf: /etc/apache2/httpd2.conf:9: <Directory> was not closed.\n/etc/apache2/httpd2.conf:5: <Directory> was not closed.


Merci pour ton aide en tout cas lami20j.
Si tu as d'autres idées ou suggestions je verrais lundi, parce que là je sature...
Et si tu réussis ce week end, n'hésite pas à dire si tout a bien marché pour toi!

Bon week end...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
3 août 2007 à 18:46
Salut,

pour l'erreur il faut faire attention aux balises

pour une balise Directory

tu sois avoir
<Directory>
...
...
</Directory>


si tu veux utiliser php avec ton server il faut installer les paquets
la commande que je t'ai donné te permettais de trouver les paquets
voilà pour installer php5
apt-get install libapache2-mod-php5 apache2-common


0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3
6 août 2007 à 09:45
Bonjour à tous! Je reviens toujours avec mon problème de PHP4 et PHP5 sous Debian...

Lami20j, tu as pu tester ce week end???

Pour ma part, j'ai toujours un problème avec les balises Directory, quelle que soit la syntaxe que j'utilise :
- <Directory "xxxx" /Directory>
- <Directory> "xxx" </Directory>
- <Directory>
"xxx"
</Directory>
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
6 août 2007 à 12:57
Salut,

tu as pu tester ce week end???

à vrai dire non puisque je n'ai pas trouvé nécessaire
en fait dans le lien que je te donne dans mon message N°1 tout est expliqué et testé

<Directory>
"xxx"
</Directory>

mais je vois que l'erreur est à la ligne 5
affiche
head -n 30 /etc/httpd/conf/httpd2.conf 

0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3
6 août 2007 à 15:12
Mais dans ton lien ce n'est pas pour une version Debian et toutes les différences m'empéchent de résoudre le problème...

Voici le fichier que tu m'as demandé (chez moi : /etc/apache2/httpd2.conf )
PidFile run/httpd2.pid
Listen 81
Include conf2.d/*.conf
DocumentRoot "/var/www/html2"
<Directory>
"/var/www/html2"
</Directory>
ErrorLog logs/error2_log
CustomLog logs/access2_log combined
ScriptAlias /cgi-bin/ "/var/www/cgi-bin2/"
<Directory>
"/var/www/cgi-bin2"
</Directory>


Et voici ce que ca donne :

user@test:/etc/apache2$ /usr/sbin/apache2 -t -f /etc/apache2/httpd2.conf
Syntax error on line 5 of /etc/apache2/httpd2.conf:
<Directory> directive requires additional arguments


J'ai trouvé un autre tutoriel basé sur une version Debian, mais pour l'instant ca ne marche pas mieux :(
Lien -> https://openclassrooms.com/fr/courses
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
6 août 2007 à 15:25
Mais dans ton lien ce n'est pas pour une version Debian et toutes les différences m'empéchent de résoudre le problème...
ok, je vais voir ça sur mon debian :-)

pour ton erreur c'est normal
voici un exemple d'utilisation
<Directory "/var/www/html2">
#ici tu mets des directives pour le dossier
     Options Indexes FollowSymLinks
     Order Deny,Allow
     Deny from All
</Directory>
--
lami20j
0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3
6 août 2007 à 15:53
Ah ben d'accord les directives ne sont pas précisées dans le tutoriel...
Je teste donc avec celles que tu m'as cité pour l'instant => ne marche pas lol

Je retente avec l'autre tutoriel...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
6 août 2007 à 16:02
Je teste donc avec celles que tu m'as cité pour l'instant => ne marche pas lol
c'était juste un exemple :-))

peut être qu'il faut dire ce que tu veux faire
pour savoir quelles directives tu dois configurer
0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3
6 août 2007 à 16:20
Bah je n'en en ai aucune idée !! Je suis le tutoriel, et normalement si on ne part pas de Debian, le fichier d'origine contient les infos nécessaires... mais chez moi le fichier de départ n'existe pas!
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
6 août 2007 à 16:25
mais chez moi le fichier de départ n'existe pas!
je te l'ai déjà dit que le fichier s'appelle /etc/apache2/apache2.conf
et je te l'ai dit aussi que c'est bordel chez apache de debian

0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3
6 août 2007 à 16:43
Mais c'est bien mon problème que ca soit le bordel et que tout soit structuré différament !!!
Pour le fichier apache2.conf, on ne retrouve pas tous les paramètres qui se trouvent dans httpd.conf :

PidFile run/httpd.pid => oki
Listen 80 => fichier à part
Include conf.d/*.conf => oki
DocumentRoot "/var/www/html" => non
<Directory "/var/www/html"> => non
ErrorLog logs/error_log => oki
CustomLog logs/access_log combined => non
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" => non
<Directory "/var/www/cgi-bin"> => non


J'ai testé le tutoriel dont j'avais parlé... ca a l'air de marché! Maintenant je ne sais pas si le me permettra de faire cohabiter 2 CMS différents...
0
Bonjour,

Je suis justement en train d'essayer désespérément d'installer php4 en cohabitation sur debian 4 apache2 et php5. J'ai essayé tout d'abord le tuto présenté en amont, trop de soucis.. En deuxième, j'ai essayé de mettre php4 en script cgi, ça fonctionne mais quand je veux installer ezpublish il y a un fichier qui détecte que mon install est avec php5 et pas 4. J'ai pourtant essayé de mettre un fichier .htaccess dans mon répertoire d'install ezpublish : rien à faire.. Ezpublish me dit sans arrêt qu'il ne peut pas installer sous php5.. Quelqu'un a-t-il déjà essayé d'installer ezpublish avec php en script cgi ? Juste histoire d'être sur que mes efforts pour configurer mon serveur web de test ne soit pas désespéré ? Ou est-il préférable de partitionner le disque dur et faire deux install ? Sauf que je ne pourrai pas exécuter mes deux rep web en même temps.. Merci d'avance, à bientôt
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
21 août 2007 à 22:22
Salut,

Si tu désinstalles le php5 temporairement, ensuite tu installes ezpublish et ensuite réinstallation de php5, ça ne marche pas?!
0
Disons que j'ai d'autres appli sur mon serveur qui fonctionne sous php5. C'est un serveur de test avant installation sur serveur web..

Mais je n'ai pas essayé : pour l'instant je pense (et j'ose espérer que ça n'est que ça) que j'ai du mal configurer mes scripts cgi php4..

J'ai suivi le tuto ci-dessous après avoir essayé le démarrage de deux apaches (peu fiable à mon avis sous débian) :

http://bphp.free.fr/blog/post/2006/02/14/11-configuration-apache2-avec-php4-et-php5-sur-debian-sarge

J'ai testé avec phpinfo() en .php4, il reconnait bien, sauf que lorsque c'est .php il le prend comme du php5;

J'ai mis en htaccess un adhandler php-script .php pensant que le contenu de ce dossier avec easy php prendrait juste du php4... Apparemment non...

Peut être avec un serveur virtuel spécifique ? J'ai encore qqs essais à faire (j'essaierai jusqu'à désinstaller php5 s'il faut) mais je voulais être sur que ça n'est pas uniquement le fichier test d'ezpublish qui coince..

Quelqu'un a déjà testé ezpublish de cette manière ?
0
Pardon je fatigue : je voulais dire ezpublish et (dislexique à cette heure) j'ai écrit easy php.
0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3
22 août 2007 à 11:20
Man, je suis content de ne pas être le seul bloqué dans cette situation :-)

Donc en fait d'après ce qu'on m'a dit sur le forum français d'eZPublish, il ne serait pas compatible avec une version CGI de PHP.

On m'a conseillé d'installé plusieurs session d'Apache, chacun ayant son moteur PHP dédié. (et chacune répondant aux besoins d'un CMS).

Je viens d'ouvrir un nouveau topic dédié à ce sujet ici : debian multiple apache installation

PS : tu dis avoir testé plusieurs Apache en simultanée, et que c'était peu fiable, pourrais tu développer??? Merci!!
0
En fait je m'avance un peu en disant testé : j'ai fait la procédure expliquée sur https://cdemarche.developpez.com/php/php_multi/ qui me paraissait assez clair.

Mais mon serveur est sous debian 4r et j'ai déjà d'autres cms installé.. J'ai fait tout jusqu'à la dernière partie qui nécessite de modifier les fichiers de démarrage.. Disons que effectivement les fichiers et la config ne sont pas du tout les mêmes, même en ayant tout noté minutieusement afin de remettre ma config à l'initiale, c'est assez fastidieux à mettre en place et pas très professionnel..

J'aurais préféré (si ça existe) une solution plus pérenne et plus fiable... Enfin si je ne trouve rien d'autre, je vais tester mais je pensais qu'un autre solution existait..

Puis l'histoire du script cgi devrait pourvoir fonctionner : sauf qu'il y a un fichier test sur ezpublish qui détecte ma version de php sous apache et bloque l'install dès le début alors que..

Je bloque aussi : sous mon répertoire (je pense que je ne dois pas avoir bien configuré mon serveur) il ne met sous php4 que les fichiers nommés *.php4 alors que j'ai mis un fichier .htaccess (j'ai pas du bien m'y prendre, je sais pas) un addhandler précisant que sous ce dossier les fichiers .php doivent s'exécuter sous php4 et non php5. Si j'arrivais là je pense que ezpublish pourrait fonctionner : ou du moins j'aurai pu tester jusqu'au bout..

Enfin je pensais qu'il y avait quand même un moyen...
0
Et tu as pu installer ez publish alors en fait sur ton serveur ? Vu qu'apparemment on a eu le même souci sous debian...
0
MonteCristo67 Messages postés 25 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 6 septembre 2007 3 > man
22 août 2007 à 14:33
Moi non je n'ai pas encore installé eZPublish. Mais je voulais régler ce problème d'Apache / PHP d'abord...

Si je ne trouve pas d'autre solution, je vais surement désinstallé PHP5 et installer le 4 uniquement. Je n'ai pour l'instant que Joomla qui me sert et il devrait supporter la migration...

Sinon on m'a aussi parlé de l'utilisation d serveurs virtuels, mais je ne vois pas à quel niveau configurer alors PHP...
0