Videos streaming images jeux et buzz
Connexion






Perdu le mot de passe ?

Inscrivez-vous maintenant !
Menu Principal
Communauté




Invité
Migration PHP 5.4/ 5.5 vers PHP 5.6 ou 7
 1  #1
FantômeInvité
Bonjour,

Dans mon boulot, j'ai à ma charge l'entretien une chiée de sites web codés en PHP (5.4 et 5.5), et comme ces versions ne sont plus maintenues... mon admin serveur me fait dire qu'en 2017 c'est l'heure de la... de la migration, bien sûr !
Truc funky : aucun des sites n'est architecturé autour d'un framework. Aucun des sites n'est testé (pas de framework de test, pas d'automatisation de test, pas de test unitaire, pas de test tout court, rien).

Donc... je flippe un peu. Surtout que mon admin serveur est pas trop chaud pour une migration vers PHP 5.6. Il veut imposer PHP 7. Les relations bizarres que ma boîte entretient avec cet admin serveur mises à part... Il faudra bien que je les fasses ces dizaines de migrations.

Ma question est la suivante : Avez-vous connaissance d'un outil d'audit syntaxique qui puisse me dire quelles parties de mon code vont merder sous telle ou telle version ?

À l'aide ! S'il vous plaît !

Contribution le : 17/02/2017 12:18
Signaler

Adr1enb
 1  #2
La loi c'est moi
Inscrit: 19/04/2008 16:29
Post(s): 8776
Karma: 2423
A part tester toutes les parties du site et scruter les logs d'erreur et warning PHP.. 😕

Contribution le : 17/02/2017 13:07
Signaler

Skity
 1  #3
Je masterise !
Inscrit: 29/12/2013 23:48
Post(s): 2024
Karma: 521
Entre 5.4 et 7, à part si tes sites utilisent des spécificités très profondes de PHP, je pense pas que tu auras de gros problèmes par contre tu risques d'avoir peut être des "Notice: ... Depreciated" dans les logs.
Mais c'est vrai que, pareil, je serais curieux de voir si il est possible d'avoir un outil qui scanne les fonctions utilisées et si elles sont dépreciated 🙂

Contribution le : 17/02/2017 13:19
Signaler

Koreus
 1  #4
Webhamster
Inscrit: 03/07/2002 23:58
Post(s): 75183
Karma: 36887
@Kevsler J'ai passé le site y a pas longtemps de PHP 5.3 à PHP 5.6 sans trop de problème.

Tu risques d'avoir des warning car les scripts utilisent des functions obsolètes (deprecated) mais ce n'est pas dramatique. Il faut juste vérifier que les erreurs ne s'affichent pas directement sur les pages.

Par contre PHP 7, c'est un peu plus problématique car mysql n'est plus supporté, il faut utiliser mysqli (avec le i à la fin)

Pour un outil qui détecte les incompatibilités, il y a ça :
https://github.com/etsy/phan (je n'ai pas encore testé)

Vu ici :
http://engineering.dailymotion.com/php-7-deployment-at-dailymotion/

Contribution le : 17/02/2017 16:56
_________________
Signaler

Invité
 0  #5
FantômeInvité
Merci les gars ! Le code sur lequel je bosse date de 2005. Je croise les doigts pour n'avoir que les fonctions mysql_ à rafraichir (soit mysqli soit PDO... PDO j'aime bien pour le bindValue).

@Koreus je vais regarder ça... Merci.

Contribution le : 17/02/2017 17:10
Signaler

Wiliwilliam
 0  #6
La loi c'est moi
Inscrit: 07/04/2012 19:19
Post(s): 37154
Karma: 17394
@Koreus ça a flingué une librairie que j'utilisais pour minecraft tout de même 😃 (xx.rcon.php)

Contribution le : 17/02/2017 17:17
_________________
Signaler

Arsenick
 0  #7
J'aime glander ici
Inscrit: 13/12/2006 00:12
Post(s): 6444
Karma: 1022
@Kevsler demande un serveur de réplication de l'actuel et test la maj, tu saura tout de suite si ça passe...

No risk no fun 😃

Contribution le : 17/02/2017 23:10
Signaler

Invité
 0  #8
FantômeInvité
@Arsenick Ça c'est déjà fait... En regardant à nouveau mon code ce matin... j'me dis que c'est vraiment d'la merde 😞

Contribution le : 20/02/2017 09:53
Signaler

AshySlashy
 1  #9
J'aime glander ici
Inscrit: 05/04/2007 11:48
Post(s): 8179
Karma: 1333
D'abord, toutes mes condoléances.

T'as pensé à chiffrer l'audit de code et les corrections, et envoyé ça à qui de droit?

Les "admin-qui-décident-des-migrations" font souvent marche arrière quand leur boss demande de justifier le coup exorbitant de la montée en version d'un truc qui marchait très bien sur l'ancienne archi 😉

Edit: un tuto ici https://www.nerdery.com/blog/code-compatible-php-5-4-5-5
Apparemment PHP CodeSniffer et son plugin PHPCompatibility devraient sortir des données utilisables pour estimer le boulot.

Contribution le : 20/02/2017 12:57
Signaler

Arsenick
 1  #10
J'aime glander ici
Inscrit: 13/12/2006 00:12
Post(s): 6444
Karma: 1022
@Kevsler Courage ^^

Contribution le : 21/02/2017 19:01
Signaler

Invité
 2  #11
FantômeInvité
J'repasse ici pour vous remercier, tous. Pour votre aide et votre soutien. J'ai découvert pas mal de petites pépites en auditant les produits je dois migrer... Et limite la 7.0 c'est pas possible en fait. Sinon c'est plus une migration c'est un recodage.

Donc merci ! Merci ! Karma pour tout l'monde !

Contribution le : 23/02/2017 09:35
Signaler

mahnmut
 1  #12
Je suis accro
Inscrit: 08/05/2014 11:48
Post(s): 1938
Karma: 586
Ca pourra toujours interesser quelques uns parmis vous : phpstan

PHPStan focuses on finding errors in your code without actually running it. It catches whole classes of bugs even before you write tests for the code.

Contribution le : 23/02/2017 17:34
Signaler


 Haut   Précédent   Suivant






Si vous êtes l'auteur d'un élément de ce site, vous pouvez si vous le souhaitez, le modifier ou le supprimer
Merci de me contacter par mail. Déclaré à la CNIL N°1031721.