Rechercher : dans
Par :

[Debian] Faire cohabiter PHP5 et PHP4

Dernière réponse le 24 aoû 2007 à 13:26:17 Christophe, le 3 aoû 2007 à 14:46:34 
 Signaler ce message aux modérateurs

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 : http://pwet.fr/blog/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?

Meilleures réponses pour « [Debian] Faire cohabiter PHP5 et PHP4 » dans :
[Debian][HowTo] Xorg7 - installer drivers nvidia VoirXorg7 - installer drivers nvidia Dans ce tutoriel nous allons aborder comment installer les drivers nvidia sous debian. Tout ce qui dit est valable pour d'autres distributions basées sur debian comme par exemple ubuntu. Toutefois pour cette...
[Ubuntu/Debian] Installation automatique des drivers Nvidia/Ati VoirInstallation automatique des drivers Ati et Nvidia de votre carte graphique sous Ubuntu /Debian Introduction Installation de Envy Installation du driver Dernière étape Compléments Introduction Il y a plusieurs manières...
[Debian] Apt-get : NO_PUBKEY / GPG error VoirLors de la mise à jour de la distribution Debian, il est possible que l'outil apt-get affiche un message d'erreur de genre : W: GPG error: ftp://ftp.fr.debian.org testing Release: The following signatures couldn't be verified because the public...

1

lami20j, le 3 aoû 2007 à 14:55:03

Salut,

voilà encore un lien
http://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 :-) lami20j

Répondre à lami20j

2

MonteCristo67, le 3 aoû 2007 à 15:39:03

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...

Répondre à MonteCristo67

3

lami20j, le 3 aoû 2007 à 15:56:44

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
lami20j

Répondre à lami20j

4

MonteCristo67, le 3 aoû 2007 à 16:29:27

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?

Répondre à MonteCristo67

5

lami20j, le 3 aoû 2007 à 16:44:26

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
lami20j

Répondre à lami20j

6

MonteCristo67, le 3 aoû 2007 à 17:20:54

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...

Répondre à MonteCristo67

7

lami20j, le 3 aoû 2007 à 18:46:54

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


lami20j

Répondre à lami20j

8

MonteCristo67, le 6 aoû 2007 à 09:45:13

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>

Répondre à MonteCristo67

9

lami20j, le 6 aoû 2007 à 12:57:52

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 

lami20j

Répondre à lami20j

10

MonteCristo67, le 6 aoû 2007 à 15:12:57

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 -> http://www.siteduzero.com/...

Répondre à MonteCristo67

11

lami20j, le 6 aoû 2007 à 15:25:13

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

Répondre à lami20j

12

MonteCristo67, le 6 aoû 2007 à 15:53:44

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...

Répondre à MonteCristo67

13

lami20j, le 6 aoû 2007 à 16:02:54

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
lami20j

Répondre à lami20j

14

MonteCristo67, le 6 aoû 2007 à 16:20:48

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!

Répondre à MonteCristo67

15

lami20j, le 6 aoû 2007 à 16:25:26

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

lami20j

Répondre à lami20j

16

MonteCristo67, le 6 aoû 2007 à 16:43:06

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...

Répondre à MonteCristo67

17

man, le 21 aoû 2007 à 22:17:44

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

Répondre à man

18

lami20j, le 21 aoû 2007 à 22:22:30

Salut,

Si tu désinstalles le php5 temporairement, ensuite tu installes ezpublish et ensuite réinstallation de php5, ça ne marche pas?! lami20j

Répondre à lami20j

19

man, le 21 aoû 2007 à 22:36:55

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/...

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 ?

Répondre à man

20

man, le 21 aoû 2007 à 22:38:43

Pardon je fatigue : je voulais dire ezpublish et (dislexique à cette heure) j'ai écrit easy php.

Répondre à man