Compatibilité PHP 4.4.2 -> PHP 5.1.6 et MySQL 3.23 ->

Nouveau WRInaute
Bonjour à tous :D

J'ai actuellement un site qui tourne sur PHP 4.4.2 et MySQL 3.23. Je voudrais savoir si une mise à jour vers PHP 5.1.6 et MySQL 4.1.13 (Voir 5) n'aura pas d'incidence sur le fonctionnement du site au niveau du code source et des requêtes. (Joomla est le CMS utilisé actuellement)

Autrement dit, je me demande si des versions supérieures sont forcément compatibles avec des versions inférieures.

De plus, un retour en arrière si jamais il y a un problème est-il aisé ?

Merci d'avance aux sages :idea: qui pourront me répondre :D
 
WRInaute accro
Cela dépends surtout de la manière dont tu a codé ton site.
Cependant si tu utilise joomla tu ne devrait pas avoir de problèmes.
 
WRInaute discret
Pour ma part, j'ai repris en main un site codé en PHP 3 et tournant sur du MySQL 3. Je l'ai passé sur du PHP 5 / MySQL 5 et c'était vraiment l'angoisse.

Je sais pas comment était gérées les superglobales en PHP3 mais là c'était l'horreur, pour accéder par exemple à $_GET['gitan'] le gars écrivait $gitan... Et c'était comme ça pour les cookies, les POST et les var de type $_SERVER qui étaient autre chose à l'époque...
PHP5 n'est pas aussi tolérant ( laxiste ^^ ) que son grand frère.


Pour MySQL, j'ai eu des problèmes sur des requêtes assez lourdes qui traitaient des dates...
 
WRInaute impliqué
Elvis a dit:
Pour ma part, j'ai repris en main un site codé en PHP 3 et tournant sur du MySQL 3. Je l'ai passé sur du PHP 5 / MySQL 5 et c'était vraiment l'angoisse.

Je sais pas comment était gérées les superglobales en PHP3 mais là c'était l'horreur, pour accéder par exemple à $_GET['gitan'] le gars écrivait $gitan... Et c'était comme ça pour les cookies, les POST et les var de type $_SERVER qui étaient autre chose à l'époque...
PHP5 n'est pas aussi tolérant ( laxiste ^^ ) que son grand frère.


Pour MySQL, j'ai eu des problèmes sur des requêtes assez lourdes qui traitaient des dates...

Tu peux encore le faire avec PHP5, il suffit de mettre register_globals à On
 
WRInaute accro
Elvis a dit:
PHP5 n'est pas aussi tolérant ( laxiste ^^ ) que son grand frère.

perso je trouve les passages d'une version à l'autre tres peu contraignante, en 1 ligne dans le .htaccess il est possible d'activer ou de desactiver les register_globals.
En php 6 elles vont disparaitrent et les hebergeurs n'auront même plus la possibilité de les remettrent en production.

Le début de la fin des register_globals arrive
 
WRInaute accro
de PHP 4 à PHP 5, rien n'a changé au niveau des registers_globals, sauf que php 5, Apache est livré avec les registers_globals a ON. Et vu que tous les hebergeurs les remettent à OFF, elles n'existeront plus en PHP 6, c'est tout.

tu peux y aller tranquille avec ton update!
 
WRInaute passionné
Les changements sont minimes entre les versions.

De plus si tu suit les recommandations, tu n'a aucun soucis lors d'un changement de version.

Ce qu'il faut te méfier, c'est si tu utilise des scripts que tu n'a pas codés toit-même.
 
WRInaute occasionnel
La principale difficulté d'une migration de PHP 4 à PHP 5 concerne les classes, vu que la POO a été revue dans la version 5 (avec, notamment, des changements concernant le passage par référence et l'apparition de l'erreur de type E_STRICT en cas de non respect de la nouvelle syntaxe des classes de PHP 5 : utilisation du mot-clé var au lieu de public, par exemple) de façon à ce que PHP n'ait rien à envier à Java.
 
Discussions similaires
Haut