pages php4 à convertir en php5 ... galère

Invité
Invité n'ayant pas de compte PHPfrance

09 févr. 2011, 14:53

bonjour

j'ai un site écrit en php4, j'aimerai passer mon serveur en php 5 mais l'application ne va plus fonctionner, il faut que je convertisse le code en php5 apparemment

pourriez m'aider ??

:roll: :roll: :roll:

voici l'adresse des sources du site :

http://mypostclonage.free.fr/download/S ... e-0-92.rar

ViPHP
ViPHP | 5462 Messages

09 févr. 2011, 15:10

si l'appi est bien faite y'a pas de soucis normalement :wink:


EDIT : c'est quoi ton lien, y'a pas de PHP la dedans...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 févr. 2011, 20:03

salut,

effectivement lien inutiles.

les choses qui peuvent aider :
- ne pas utiliser short tags (en gros remplacer <? par <?php qui est le comportement par défaut de php).
- ne pas utiliser les variables auto déclarée (donc utiliser $_GET / $_POST / $_SESSION / $_COOKIE / $_SERVER ...)
- Gérer l'utilisation des magic_quote, en fait gérer le fait que sur php4 elles étaient activée par défaut et ce n'est plus le cas avec php58).

ce sont les plus gros écueils que tu rencontrera, après il y a d'autre chose, comme le paramétrage de la zone de temps par défaut pour éviter un warning, l’utilisation de fonction obsolète etc ..

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 1 Messages

10 févr. 2011, 18:13

ok je vais tenter la transition je vous tiens au courant :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 févr. 2011, 13:59

Ce sont surtout des modifications de la config par défaut, maintenant si tu envisages de changer de version de php, rien ne t'empêche de rétablir la config dont tu as besoin sur le nouvel environnement (alors bien sur, c'est plus propre de bien coder, mais entre changer 3 variables de configuration et refaire tout un site, c'est pas les mêmes délais ;))

Pour moi, les réelles différences entre php 4 et 5, tu vas surtout les retrouver au niveau de la poo et des classes.
Il y a de nouveaux mots clés réservés (en php 4 tu pouvais faire une classe que tu appelais "Parent", ou "Public", ... en php 5 ça engendrera des erreurs. La gestion des pointeurs est également différentes, par exemple le code suivant :
        $tableau = array();
	$objet = new Objet();
	$objet->attribut = 0;
	for ($i=0; $i<10; $i++) {
		$objet->attribut++ ;
		$tableau[] = $objet;
	}
Va générer en php 4 un tableau contenant 10 références vers 10 objets, dont l'attribut aura des valeurs de 0 à 9, tandis qu'en php5, ce même code va générer un tableau contenant 10 références vers 1 seul objet dont l'attribut aura la valeur 9 (et il faudra utiliser clone pour obtenir le même comportement qu'en php4).

Je pense que c'est surtout de ce genre de surprises qu'il faudra se méfier lors de ta montée de version :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...