Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/04/2011, 11h17   #1
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 71
Points : 27
Points : 27
Par défaut Projet avec fichiers "php4" et "php5" qui s'appellent entre eux

Bonjour,

J'envisage de passer progressivement un ancien projet de php 4.2.0 vers php 5 (ou plus).

J'aurais aimé savoir si il est possible de créer un projet de transition contenant des sources en php 4 et d'autres en php 5. Les fichiers php 4 pouvant appeler des fichiers php 5 et vice versa.

Il me semble que les serveurs peuvent déterminer eux même la version utilisée par rapport à l'extension donnée au fichier ; par exemple : ".php4", ".php5". Et si aucune précision (".php"), ils utilisent la version par défaut.

Merci à qui saura m'aider.
arsene555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 13h27   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
si ton projet est bien codé il n'y a aucun soucis de passer de la 4 vers la 5
pour les fichier .php4 et .php5 c'est uniquement à l’appelle de fichier (donc ne marche pas pour des include/require)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/04/2011, 15h18   #3
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 71
Points : 27
Points : 27
Citation:
Envoyé par stealth35 Voir le message
pour les fichier .php4 et .php5 c'est uniquement à l’appelle de fichier (donc ne marche pas pour des include/require)
Ok !

Citation:
si ton projet est bien codé il n'y a aucun soucis de passer de la 4 vers la 5
Justement si ! On a pas mal de fonctions dépréciées. On travaille en flux tendus donc on n'a pas le temps de tout migrer d'un bloc d'autant plus que le code est très volumineux.

D'où l'idée de faire, si possible, les choses progressivement : conserver l'existant en php4, coder les nouveaux sources en php5 et passer le php4 en php5 tranquillement, petit à petit.

Mais pour cela, il faut que php4 et php5 puissent cohabiter. Peut-on les faire "s'entendre" ensemble ? quelqu'un a t-il déjà fait un projet utilisant plusieurs versions de php simultanément ?
arsene555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 16h14   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
on ne pas pas faire cohabiter des pages, php interprète tout le code soit en 4 soit en 5, c'est au niveau de tes pages que çà peut être différent (index.php en php5, about.php en php4)

les fonctions dépréciées ce n'est pas un problème, elles sont dépréciées mais existante

la priorité c'est de voir si tout fonctionne bien et que il n'y aucun fatal error, ensuite tu corriges les erreurs on montant petit a petit le niveau (deprecated puis strict)
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/04/2011, 16h41   #5
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 71
Points : 27
Points : 27
Citation:
c'est au niveau de tes pages que çà peut être différent (index.php en php5, about.php en php4)
Et comment l'interpréteur peut savoir que le about.php est en version 4 ?

Je ne crois pas qu'on puisse préciser la version comme ci-dessous :

fichier index.php en php 5
Code :
 <?php5 <-- ici le code php5 --> ?>
fichier about.php en php 4
Code :
 <?php4 <-- ici le code php4 --> ?>
arsene555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 16h44   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
.php5 et .php4 si tu veux
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/05/2011, 16h51   #7
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 71
Points : 27
Points : 27
Je viens de découvrir la notion de mode cgi.

J'aimerais tester la viabilité d'exécuter les fichiers .php en php4 (en mode module) et les fichiers .php5 en php5 (en mode cgi).

J'ai modifié mon httpd.conf.

Dans la balise <IfModule mime_module> j'ai ajouté les lignes suivantes :

Citation:
AddType application/x-httpd-php4 .php
Action application/x-httpd-php4 "/php4/php.exe"
AddType application/x-httpd-php5 .php5
Action application/x-httpd-php5 "/php5/php-cgi.exe"
AddType application/x-httpd-php .php3
Dans la balise <IfModule alias_module>, j'ai ajouté des alias :
Citation:
#ScriptAlias /cgi-bin/ "cgi-bin/"
ScriptAlias /cgi-bin/ "C:/wamp_v2.0/bin/apache/Apache2.2.11/cgi-bin/"
ScriptAlias /php4/ "C:/wamp_v2.0/bin/php/php4.2.3/"
ScriptAlias /php5/ "C:/wamp_v2.0/bin/php/php5.3.0/"
Et dans la balise <IfModule dir_module>, j'ai ajouté "index.php5" qui n'y était pas :
Citation:
<IfModule dir_module>
DirectoryIndex index.php index.php5 index.php3 index.html index.htm
</IfModule>
Résultats :

Si mon fichier "root" s'appelle index.php5, tous les fichiers sont analysés avec php5 même ceux d'extension ".php" que je souhaite voir lu avec php 4.

Si mon fichier "root" s'appelle index.php, tous les fichiers sont analysés avec php4 même ceux d'extension ".php5" que je souhaite voir lu avec php 5.

Ca ne convient pas. Il faudrait que l'extension du fichier lui-même détermine avec quelle version de php il doit être lu. Et là c'est l'extension du fichier root qui est déterminante.

Me suis-je raté quelquepart ? Merci à qui saura m'aider.
arsene555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 17h03   #8
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 71
Points : 27
Points : 27
Autre chose, il me semble avoir lu que php5 est plus lent que php4. Même s'il n'est pas lancé en mode cgi.

J'aurais aimé savoir dans quelles proportions : 2 fois, 3 fois plus lent ? ou plus ? ou moins ?

Puis aussi connaître l'importance de la perte de performance dû à l'utilisation du mode cgi.


Merci.
arsene555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 17h10   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par arsene555 Voir le message
Autre chose, il me semble avoir lu que php5 est plus lent que php4. Même s'il n'est pas lancé en mode cgi.

J'aurais aimé savoir dans quelles proportions : 2 fois, 3 fois plus lent ? ou plus ? ou moins ?

Puis aussi connaître l'importance de la perte de performance dû à l'utilisation du mode cgi.


Merci.
t'as lu ça ou ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 17h13   #10
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 71
Points : 27
Points : 27
Citation:
Envoyé par stealth35 Voir le message
t'as lu ça ou ?
Citation:
Le but de ce tuto est de vous permettre de faire tourner à la fois PHP4 et PHP5 sur un serveur Linux.

Mais quel est l'intérêt d'avoir 2 versions de PHP à la fois ??

Premièrement, PHP4 est plus rapide que PHP5. Il est donc intéressant du point de vue performance. Mais PHP5 propose plus de fonctionnalités (une POO plus poussée, par exemple). Il peut donc être utile d'avoir les 2 à la fois sur son serveur de manière à tester ou à faire tourner ses scripts sur les deux, sans pour autant avoir deux serveurs...
arsene555 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 17h20   #11
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Regarde la date de l'article, c'etait au tout début de PHP 5 et l'article ne cite pas de source non plus.

De nos jours il n'y a aucun avantage à avoir PHP 4, de plus le support est arrêté depuis longtemps
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h00.


 
 
 
 
Partenaires

Hébergement Web