2009-04-13 9 views
2

J'ai une ancienne application Web php4/mysql4 (MyISAM, db contient quelques cms, certaines données utilisateur, certaines applications de calendrier). Maintenant, je vais migrer vers un nouveau serveur avec php5/mysql5.Migration de php4/mysql4 vers php5/mysql5: problèmes php attendus?

Quels sont les problèmes typiques de php dans un tel scénario de migration (requêtes php, sql, quoi que ce soit)?

J'ai entendu dire que le changement de paramètre de fonction a changé, appel par référence/appel par valeur. Pouvez-vous donner un exemple ou expliquer?

Autre chose dont je devrais être au courant?

(Les questions mysql sont dans une autre question: Migrating php4/mysql4 to php5/mysql5: switch to InnoDB?)

Répondre

2

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

  • nouveaux mots réservés
  • nouvelle classe/objet backend

La plupart du code v4 fonctionnera très bien dans v5. Le code qui dépend des limitations du modèle de classe de v4 ou qui tire parti des caprices de référence de v4 est celui où vous risquez de rencontrer des problèmes. Mais la plupart des gens ne respectent pas ces limites (j'ai - c'est pourquoi je sais qu'ils sont là).

Si vous êtes bloqué avec les limites de classe/objet, vous pouvez exécuter le moteur Zend dans un mode "v1" qui fait que les classes et les objets se comportent comme dans v4. This is documented.

1

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

Si vous voulez avoir un code propre, vous devez trouver la bonne solution pour 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); 
    } 
} 
Questions connexes