IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Projet avec fichiers "php4" et "php5" qui s'appellent entre eux


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 71
    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.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    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)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 71
    Par défaut
    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 !

    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 ?

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    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)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 71
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
     <?php5 <-- ici le code php5 --> ?>
    fichier about.php en php 4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <?php4 <-- ici le code php4 --> ?>

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    .php5 et .php4 si tu veux

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 71
    Par défaut
    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 :

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

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 71
    Par défaut
    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.

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    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 ?

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 71
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    t'as lu ça ou ?
    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...

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    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

Discussions similaires

  1. Projet Web import de projet avec fichier de persistence
    Par Khalsky dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 11/11/2014, 14h39
  2. projet avec fichiers .c et .cpp
    Par troumad dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 31/08/2010, 22h11
  3. Réponses: 0
    Dernier message: 31/08/2010, 16h13
  4. [Eclipe 2.1.1]Projet avec fichiers sources existants
    Par mfofana dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/02/2004, 06h20
  5. Réponses: 4
    Dernier message: 25/08/2003, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo