Question

J'ai une application web de l'héritage php4 / mysql4 (MyISAM, db contient quelques centimètres, des données utilisateur, une application de calendrier). Maintenant, je vais migrer vers un nouveau serveur avec php5 / mysql5.

Quels sont les problèmes typiques de php dans une telle migration (scenary php, requêtes SQL, quoi que ce soit)?

Je l'ai entendu dire que le passage de paramètres de changement de fonction, appel par référence / appel par valeur. Pouvez-vous donner un exemple ou expliquer?

autre chose que je devrais être au courant?

(Les questions mysql sont dans une autre question: migration PHP4 / mysql4 à php5 / mysql5: passage à InnoDB )

Était-ce utile?

La solution

La plupart des problèmes de compatibilité PHP 4/5 sont deux choses:

  • de nouveaux mots réservés
  • nouveau back-end de classe / objet

La plupart du code v4 fonctionnera très bien dans v5. Où vous êtes susceptible de se heurter à des problèmes est un code qui dépend des limites du modèle de classe v4 ou profite des bizarreries de référence de v4. Mais la plupart des gens ne code pas contre ces limites (j'ai - c'est pourquoi je sais qu'ils sont là).

Si vous êtes coincé avec les limites de la classe / objet, vous pouvez exécuter le moteur Zend en mode « v1 » qui rend les classes et les objets se comportent comme dans v4. Ceci est documenté.

Autres conseils

Je pense que la meilleure aide de la migration est des gars PHP eux-mêmes.

Je suis au milieu d'une migration et je trouve beaucoup de aliasing problèmes.

Si vous voulez avoir un code propre, vous aurez besoin de trouver la solution appropriée à votre extrait spécifique. Si n'est pas la propreté importante, vous trouverez peut-être cette fonction vraiment utile:

function php4_clone($object) {
    if (version_compare(phpversion(), '5.0') < 0) {
        return $object;
    } else {
        return @clone($object);
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top