Problème d'installation

Bonjour,

J’ai un souci qui ressemble exactement à celui décrit ici: Alwaysdata - Installation de SPip 4

Sauf que ça n’est pas chez Alwaysdata et c’est pas mariaDB, c’est sur un de mes serveurs dont je maitrise à peu près tout, c’est un Ubuntu 20.04 avec PHP 7.4 ou 8.0 (j’ai essayé les 2) et mySQL 8.0.30-0ubuntu0.20.04.2 .

Le virtual host a été créé quelques minutes avant, vierge donc, j’ai utilisé spip_loader.php, l’installation de 4.1.5 marche sans problème, ensuite la connexion a la base est ok, les tables commencent à se créer (les 26 premières jusqu’à spip_visites_articles) et ensuite erreur, dans spip.log j’ai un paquet d’erreurs de ce genre:

Erreur 1071 de mysql: Specified key was too long; max key length is 1000 bytes in /home/dasapou/public_html/ecrire/base/create.php L74 [sql_create(),creer_ou_upgrader_table(),alterer_base(),creer_base(),install_bases(),install_etape_3_dist(),exec_install_dist()]
CREATE  TABLE IF NOT EXISTS `dasapoudb1`.spip_meta (
		nom VARCHAR (255)  NOT NULL,
		valeur text  DEFAULT '',
		impt ENUM('non', 'oui') DEFAULT 'oui' NOT NULL,
		maj TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
		PRIMARY KEY (nom)) ENGINE=MyISAM

J’ai vu les solutions proposées, je me demandais si ces nouvelles données pouvaient aiguiller quelqu’un vers une raison et une solution définitive. J’ai au moins 10 spip sur ce serveur et je n’ai jamais eu de pbm d’installation dessus (c’est un serveur de dev pour nous donc on installe à la pelle dessus)… je vais retenter une installation sur un serveur de type Debian pour voir en parallèle …

Pierre

C’est encore et toujours ce problème de l’UTF8-MB4 avec des tables MyIsam.

Solution via config/mes_options.php :
define('_MYSQL_ENGINE', 'InnoDB');

Bonjour,

J’allais préciser que j’avais lu https://git.spip.net/spip/spip/issues/4277 et je me demandais ou mettre ce que suggère @RealET quand on part de 0 … dans mon répertoire je n’ai que spip_loader.php, je peux spécifier ça ou ?

Pierre

Tu peux tenter 2 choses :

  • soit dès le départ, créer config/mes_options.php
  • soit une fois le téléchargement de SPIP fait, mais avant de lancer l’installation de SPIP (donc, avant de rentrer les infos de connexion à la base de données), créer le config/mes_options.php

Et mettre dedans exactement ceci, ni plus, ni moins :

<?php
if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

define('_MYSQL_ENGINE', 'InnoDB');

Merci @RealET, ça a fonctionné, la base est en innoDB avec utf8mb4_0900_ai_ci comme encodage … j’ai installé un thème (Spectral) et tout a bien fonctionné :slight_smile:

Pierre.