8795 sujets

Développement web côté serveur, CMS

Bonjour,

j'ai un serveur avec un site développé en php 5.2.7, je vais le passer sur la version 5.5. J'ai plusieurs questions.

Il y a des fonctions de php 5.2.7 qui sont devenues obsolètes avec la 5.5. J'ai donc fais un test pour voir quel message on obtient. On obtient alors non pas un warning mais un 'deprecated' sur chaque ligne ou il y a une fonction obsolète.

Pour y aller petit à petit dans cette migration, j'ai enlevé l'affichage de ces deprecated, cela fonctionne correctement. Ma question est : Est-ce que le fait d'utiliser ces fonctions avec php 5.5 qui sont obsolète me font courir un risque de sécurité ? Ou sans parler de sécurité, quelles complications cela peut entrainé ?

Je compte après remplacer ces fonctions obsolètes par les nouvelles de php 5.5.

Aussi, à part ce problème de fonctions obsolètes, avez vous des conseils de vérification avant de passer le serveur en 5.5 ?

MErci d'avance pour toutes vos réponses. Smiley cligne

Cordialement, Vince.
Hello Smiley smile

tu as la bonne démarche... celle de remplacer les deprecated Smiley smile

pas de soucis à l'heure actuelle d'anciennes fonctions sont devenus obsolètes parce que de nouvelles ont vu le jour plus efficace.

Cela ne change rien à la sécurité de ton code. Ca ne gêne même pas l'exécution Smiley smile

dans le bon sens il faudrait refaire ton code avec la nouvelle version PHP Smiley smile

parce que faire du rustinage d'ancienne version c'est pas forcément top.

Ton code s'en trouvera amélioré, plus rapide, plus efficace Smiley smile voir pensé différemment Smiley smile
Modérateur
vincerasta a écrit :

Pour y aller petit à petit dans cette migration, j'ai enlevé l'affichage de ces deprecated, cela fonctionne correctement. Ma question est : Est-ce que le fait d'utiliser ces fonctions avec php 5.5 qui sont obsolète me font courir un risque de sécurité ? Ou sans parler de sécurité, quelles complications cela peut entrainé ?

Techniquement, pour certaines, c'est possible. Mais pas plus que lorsque tu étais en 5.2.
L'autre problème est que les fonctions obsolètes disparaitront dans des versions futures de PHP.

vincerasta a écrit :
Aussi, à part ce problème de fonctions obsolètes, avez vous des conseils de vérification avant de passer le serveur en 5.5 ?

Il existe des incompatibilités entre les versions, qui peuvent éventuellement faire crasher un site. Ainsi que des problèmes plus pernicieux. De 5.3 à 5.4 il y a un changement incompatible sur les dates, si tu es concerné tu pourrais introduire dans tes bases de données des données incohérentes qui seront par la suite délicates à démêler. Il faut consulter rigoureusement les pages suivantes afin de déterminer si tu es concerné:
http://php.net/manual/fr/migration54.incompatible.php
http://php.net/manual/fr/migration54.incompatible.php
http://php.net/manual/fr/migration55.incompatible.php

Il peut y avoir d'autre problèmes, notament sur les extensions mais tu trouvera toutes les informations sur:
http://php.net/manual/fr/migration53.php, http://php.net/manual/fr/migration54.php et http://php.net/manual/fr/migration55.php
Modifié par kustolovic (12 Dec 2014 - 11:30)
Bonjour kustolovic,

Merci pour ta réponse,

"De 5.3 à 5.4 il y a un changement incompatible sur les dates, si tu es concerné tu pourrais introduire dans tes bases de données des données incohérentes qui seront par la suite délicates à démêler."

Tu fais allusion à cette ligne dans le lien que tu m'as envoyé :

Dans l'extension Date et Heure, le fuseau ne peut plus être défini au moyen de la variable d'environnement TZ. Vous devez préciser un fuseau horaire en utilisant l'option de php.ini date.timezone ou la fonction date_default_timezone_set(). PHP n'essayera plus de deviner le fuseau horaire et utilisera par défaut "UTC" tout en émettant une alerte de niveau E_WARNING.

C'est bien cela ? Il faut que je vérifie ça, car les bases de données sont immenses donc il faut que je sois sûr que ça foute pas le bordel dans mes bases. Smiley cligne
Modérateur
Oui, mais je prenais cela à titre d'exemple. Il y en a plein d'autres
Si tu n'as pas de tests automatiques sur tes sites, tu peux:
1) Attendre que les bugs apparaissent pour réagir en fonction.
2) Fouiller pour chaque changement incompatible dans ton code (très gros boulot)
3) Mixer les 2: Vérifier les changements incompatibles, et fouiller dans ton code que ce qui te semble important ou qui te concerne probablement. Pour le reste, attendre les éventuels bugs.