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