Mise à jour de MAMP (problèmes… et solutions)

Cela ne m’était pas arrivé depuis un moment sur mon mac, j’ai lancé une vague de mises à jours (en prévision de nouveaux cours).

Entre autre, MAMP datait de… houla… (2014/15 je crois), et j’ai commencé par lui.

Malheur.

Pour mémoire, MAMP permet d’avoir sur sa machine Apache, Mysql et Php, ainsi que PhpMyAdmin (pour administrer les bases de données).

  • Mamp d’avant, 3 (MySQL 5.5, PHP 5.6, et phpMyAdmin 4.3)
  • Mamp 5 (MySQL 5.7, PHP 7.3, phpMyAdmin 4.8.5)

Pour info, j’ai tenté Xampp sur mon Mac, mais il n’a jamais voulu démarrer… Je n’ai pas creusé, sans doute un conflit avec un autre truc…

Problèmes avec PHP / PhpMyAdmin

Le bon truc de l’opération, est que de passer à php 7 me promet des gains de performance (peu sensibles sur une machine en local sans doute). Autre avantage, je vais pouvoir tester plein de choses, avant de migrer en v7 les derniers hébergements qui me restent en version 5, et éviter de tout casser.

Mais.

La version 7, donc, celle qui a un bug avec PhpMyAdmin… (mais ça, je l’ai appris après)

Je me souviens avoir eu le même soucis (des warnings insolents et rouges) avec les élèves il y a peu de temps, et j’avais soupçonné le service informatique de l’école (sorry); mais comme ce n’étaient que des warnings cela ne nous a pas empêché de travailler…

Le message ressemble à ceci:

preg_match_all(): JIT compilation failed: no more memory...

Donc, première chose à faire, modifier le php.ini pour modifier une ligne (voir emplacement ci-après).

Non, première chose à faire : sauvegardez votre fichier php.ini initial, puis modifiez le:

;pcre.jit=1

A remplacer par

pcre.jit=0

Dans la foulée, on peut booster le serveur pour permettre de lever des limites en cas de manipulation de gros fichiers (ce qui m’arrive souvent en ce moment avec des bases de données de quelques Mo voir Go… Puisque je suis en local et mono-utilisateur (ne faites pas ça en exploitation!) j’ai augmenté la limite des fichiers uploadés, le temps de time-out, et la mémoire disponible…

Pour chaque paramètre, faire « chercher » dans votre éditeur de texte, et changez la valeur en face. Voici ce que j’ai mis:

max_execution_time = 500
max_input_time = 500
memory_limit = 500M
post_max_size = 500M
upload_max_filesize = 750M

Çà devient plus confortable. Sans doute trop, et sans doute que pour de grosses bases, passer par la ligne de commande sera plus efficace (ou, ce que j’ai privilégié, un script python, mais ceci est une autre histoire)

A noter que, sur un hébergement et pour un dossier précis, il est possible de modifier certains paramètres via le fichier .htaccess. La syntaxe devenant alors:

php_value upload_max_filesize 10M

Mais attention à ne pas mettre de valeurs trop élevées qui mettrait votre serveur à plat (et certains paramètres ne seront sans doute pas pris en compte chez l’hébergeur).

Migration de la base de données

Au moment de l’installation de MAMP, il m’a averti qu’il fallait mettre à jour mes bases de données. Oups… Donc sauvegardes au préalable (et un bon ménage dans la foulée).

Puis il m’a proposé de mettre à jour. Ce qu’il a fait. Ou pas… Ou mal…

Donc, de nouveau pleins de warning dans PhpMyAdmin, ce qui m’a forcé à passer par le terminal, pour lancer la commande:

/Applications/MAMP/Library/bin/mysql_upgrade -uroot -proot

Et la mise à jour s’est faite correctement. Ouf.

Emplacement des fichiers

Important de le savoir, sinon on ne peut pas les modifier…

Php.ini, c’est à dire la configuration de php:

/Applications/MAMP/bin/php/php7.3.1/conf/php.ini

Pour exécuter mysql en ligne de commande:

/Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot

Voilà

C’est bien de faire des mises à jour de temps à autre, mais le temps passé peut être, parfois, un peu plus long qu’une simple séquence « clic, clic ».

 

Note: si je découvre d’autres fantaisies / astuces / bugs, j’actualiserais ce post…

Laisser une réponse