[Résolu] spip-CLI toutf8

Bonjour,

J’ai un site qui a évolué depuis un Spip 1 jusqu’à la version actuelle.
Dans le plugin FullText, j’ai une erreur :

Une incohérence entre le charset de votre site et celui des tables de votre base de données risque de fausser les recherches avec caractères accentués :iso88591 [convertir en UTF-8 pour restaurer la cohérence]

J’ai donc installé Spip-CLI sur le serveur… Mais je ne comprends pas l’utilisation, malgré le bin/spip help sql:convert:toutf8

Comment le script sait il sur quelle base travailler ? Il faut l’exécuter depuis le répertoire du site ? Ou y a t-il une option qui n’apparait pas dans la page help ?

Merci

Exactement, c’est ainsi que le script trouvera la base à utiliser.

ok, Merci !

J’ai une erreur à l’exécution du script :

PHP Warning:  Undefined array key "log_couteau_suisse" in /home/*****/sites/*****/web/plugins/auto/couteau_suisse/couteau_suisse_options.php on line 135

et après il m’affiche l’html de la page « Site en travaux, Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension. » alors que l’accès mysql est correctement configuré et que le site fonctionne bien… ?

j’ai exécuté le script depuis le répertoire racine du site.

Rassure moi, tu lances bien le script en ligne de commande ? (en cli quoi ^^)

oui, bien sur
Je cd dans le répertoire du site puis :

/opt/spip-cli/bin/spip sql:convert:toutf8 -vvv

Avec l’option -vvv j’ai des sorties en plus :

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/********/sites/*******/web/ecrire/inc/layer.php on line 99
PHP Deprecated:  preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/******/sites/****/web/ecrire/inc/layer.php on line 106

Ah, peut-être un souci de version de php CLI ? La, je suis sur PHP 8.2.15 (php -v, toujours en ligne de commande)

Les warnings et deprecated ne devraient pas poser problème à spip-cli, mais il faut bien veiller à lancer les commandes avec la version de PHP utilisée par le site en cours de traitement (ou la version max supportée par cette version).

c’est bien un spip 4.2.8, la dernière version, donc php8.2 est supporté.
Mais la connexion à la DB ne se fait pas… Comment corriger ça ? Ou regarder ?

bon… je vais essayer de le faire directement avec mysql_dump…

Que donne la commande spip test:spip ?

Mon erreur… Ça fonctionne maintenant

Vérifier notre accès à SPIP
===========================

 ✔ SPIP est trouvé
 ✔ SPIP est démarré
 ✔ PDO Accessible

 Nom du site : ****
 Adresse du site : ****

 ✔ 2 webmestre·s sur ce site (via PDO)
 ✔ 2 webmestre·s sur ce site (via SPIP)
 ----- ----------------------- ------------------
  id    nom                     email
 ----- ----------------------- ------------------
****
 ----- ----------------------- ------------------

Version de SPIP :
=================

 Meta version_installee : 2022022303

 _SPIP_VERSION_ID       : 40208

 spip_version_base      : 2022022303

pdo était installé pour php 8.1 mais pas pour php 8.2.

merci pour le test:spip qui m’a orienté !

Mais bon, après exécution du script, je perds les accents…

Bon, j’ai fini par corriger directement par adminer et ça a l’air de convenir à FullText… Merci pour ton aide b_b

De rien, je peux marquer le fil comme résolu ?

Oui !