Comment migrer ses sites locaux vers Wamp 3.0

 

Cela faisait 3 ans que je n'avais pas changé de Wamp, et donc de version de php, sur mon PC. Cela ne me dérangeait pas plus que cela, mais comme j'avais l'intention de tester une fonction qui n'est supportée qu'à partir de php 5.5 et que Wamp 2.4 ne propose que php 5.4, j'ai décidé de sauter le pas.

Installation

Je m'attendais à ce que soit long et pénible. Je n'ai pas été déçue.

Alors dĂ©jĂ , contrairement Ă  la majoritĂ© des logiciels, il n'y a pas de système d'update (pas de la version 2.4 Ă  la version 3.0 en tout cas…). On rĂ©installe tout, dans un rĂ©pertoire distinct. Et ensuite on migre les sites et les bases de donnĂ©es dans le nouveau Wamp.

L'installeur annonce tout de go qu'il va avoir besoin de 2 Go d'espace disque. CarrĂ©ment. Petit gourmand…

Il a fallu que je m'y reprenne à 4 fois pour installer le nouveau Wamp. En effet, celui-ci a besoin de paquetages Microsoft Visual Studio pour fonctionner. Et comme l'installateur de Wamp est une bouse innommable, même pas fichue de détecter dès le début si les bonnes DLL sont présentes, il faut se farcir à chaque fois tout le processus d'installation, avec choix du répertoire, du navigateur et de l'éditeur de texte par défaut, pour ensuite se voir annoncer qu'il manque MSVCR140.dll. Saleté, va.

Alors je les ai téléchargées et installés, ces fichus VC. Tous. De la version 9 à la version 15. Les 32 et les 64 bits. Parce que les 64 bits ne suffisent pas, comme l'indique cet article. Ça a bien pris une heure. Après cela, le machin a enfin daigné s'installer jusqu'au bout.

Super, on va pouvoir commencer à migrer nos bases de données.

Migration des bases

J'avais fait un export global des bases sur l'ancien Wamp. L'import a Ă©chouĂ© dès la 1e base. Je n'en attendais pas moins de phpMyAdmin… Il a donc fallu crĂ©er les exports de bases l'une après l'autre (sympa quand on en a plus d'une trentaine).

Reste à importer les tables. Les tables en MyISAM encore, c'est du gâteau. Une fois les bases créées, il n'y a qu'à copier tous les fichiers frm, MYD et MYI vers leur nouvelle destination. Ils sont toujours situés dans wamp\bin\mysql\mysqlX.X.X\data\.

Les innoDB, c'est plus pĂ©nible. Or tous mes sites WordPress sont en innoDB. LĂ , y a pas le choix, il faut faire un export SQL via le phpMyAdmin de l'ancien Wamp. Evidemment les deux Wamp ne peuvent pas fonctionner simultanĂ©ment (il faudrait essayer, peut-ĂŞtre qu'en prĂ©cisant un port de fonctionnement diffĂ©rent Ă  l'un des deux…). Et l'importation n'est pas instantanĂ©e (une petite barre de progression ou une liste des tables en cours de copie ne serait pas de trop).

Il y a quand même un progrès : la taille max autorisée pour le fichier SQL est désormais de 128 Mo. Pas besoin d'aller farfouiller dans php.ini et dans alias/phpmyadmin.conf pour l'augmenter !

Bref, béni soit le MyISAM (même si c'est moins performant, paraît-il).

Ah oui, et ne pas oublier de recréer les privilèges pour les accès des sites à leur bases de données (l'onglet Utilisateurs a été renommée en Comptes d'utilisateurs).

Migration des sites et ajustements

Ensuite, je migre les répertoires des sites et applications situées dans /www. Alors autant le dire tout de suite, les plus anciens sites codés en php datent de 2002. A l'époque, c'était short tags, mysql_query(), ISO-8859-1 et tout le tintouin. Et vous pensez bien que j'ai vraiment autre chose à faire que de repasser sur tous les scripts pour convertir tout ça.

Messages d'erreur deprecated, short tags et réglage du charset

Du coup, j'ai droit à quelques messages d'erreur. Ah oui, et puis l'heure renvoyée par la fonction date() retarde de deux heures !

Donc direction le php.ini, afin de régler les paramètres suivants :

short_open_tag = On
error_reporting = E_ALL & ~E_DEPRECATED
default_charset = "ISO-8859-1"
date.timezone ="Europe/Paris"

Eh oui je sais, c'est pas bien de masquer les erreur « deprecated ». Mais, si mes sites me rapportaient de l'argent, j'aurais enfin le temps pour les faire Ă©voluer en profondeur…

DĂ©sactivation du mode strict de MySQL

Premier essai d'insertion de données MySQL. 1er échec avec

#1366 – Incorrect integer value:  » for column ‘type' at row 1

Eh oui, dĂ©sormais on est en mode strict, et insĂ©rer un vide dans une colonne qui attend un int, c'est maaal…

Et comme, là encore, je n'ai pas le temps de repasser sur tous mes scripts, je vais dans my.ini, et je décommente :

sql-mode=""

Plus d'URL rewriting fonctionnel ?

Les « Pretty Permalink » (URL rewriting) de mes versions locales WordPress ne fonctionnent plus. A la place, s'affiche la page d'accueil de Wamp sans sa CSS, le résultat est immonde. Pourtant, « rewrite_module » est coché. Tant pis, on verra un autre jour !

Authentification permanente sous phpMyAdmin

Il faut s'authentifier sous phpMyAdmin (root et mot de passe vide, comme toujours) et la session expire au bout de quelques dizaines de minutes. C'est sĂ©cure, certes, mais c'est pĂ©nible. Ça se change dans : wamp\apps\phpmyadmin4.6.4\config.inc.php : changer la valeur de $cfg[‘Servers'][$i][‘auth_type'] de « cookie » Ă  « config ». A rĂ©server Ă  une configuration locale de dĂ©v, Ă©videmment…

Configuration du SMTP

Premier test d'envoi de mail : PHPmailer me répond « Could not instantiate mail function ».

Il faut retourner dans php.ini et paramĂ©trer la variable SMTP (ce qui ne veut pas forcĂ©ment dire que les mails seront dĂ©livrĂ©s, parce qu'avec les antispams, de nos jours…). Par exemple, si vous ĂŞtes chez Numericable…

SMTP = smtp.numericable.fr

Mise Ă  jour des chemins dans les programmes tiers

Comme j'ai installĂ© le nouveau Wamp dans un rĂ©pertoire /wamp3, il me reste encore Ă  mettre Ă  jour les chemins vers le nouveau rĂ©pertoire de chaque site ou application dans Dreamweaver et dans FileZilla. Pour Dreamweaver, c'est assez long, car celui-ci doit Ă  chaque fois recrĂ©er l'antĂ©mĂ©moire…

 

Conclusion

On y aura passĂ© l'après-midi et une bonne partie de la soirĂ©e ! Merci Wamp…

Alors qu'est ce qu'il y a sous le capot ?

  • Apache 2.4.23
  • PHP 5.6.25
  • MySQL 5.7.14
  • phpMyAdmin 4.6.4

Bon, il y a quand mĂŞme des aspects positifs :

  • bon ben voilĂ , je l'ai mon php 5.6 (et si je le souhaite, je peux mĂŞme activer php 7)
  • grâce au choix de l'Ă©diteur de texte par dĂ©faut, je peux enfin ouvrir les fichiers de config dans Notepad++
  • c'est l'occasion de faire un peu le mĂ©nage dans les vieux projets
Karine SANCHE

Partager cet article