Mise à jour : prérequis non satisfait (faux positif)

Mise à jour : prérequis non satisfait (faux positif)

par Mazzhe M.,
Nombre de réponses : 9

Upgrading Moodle database from version 2.2.11 (Build: 20130708) (2011120511.00) to 2.8.2 (Build: 20150112) (2014111002.00)

Bonjour,

J'essaye de mettre à jour une installation de moodle "from version 2.2.11 (Build: 20130708) (2011120511.00) to 2.8.2 (Build: 20150112) (2014111002.00)" sur un serveur linux sans accès ssh, BdD MariaDB. Je reste bloqué aux tests des prérequis, avec le message suivant :

Server checks
Name      Information     Report
database     mysql (5.5.5-10.0.14-MariaDB-1~wheezy-log)     version 5.5.31 is required and you are running 5.5.5.10.0.14.1

Or, d'après mon hébergeur et ce que j'ai pu voir sur internet, la version 10.0.14 de MariaDB est bien supérieure à la version 5.5.5 de MySQL.

J'ai trouvé un bug qui soulève le même problème sur une version précédente : https://moodle.org/mod/forum/discuss.php?d=258302
mais il est indiqué avoir été résolu, et les modifs intégrées dans le code. J'ai vérifié, je retrouve bien les lignes modifiées...
Je ne sais donc pas comment faire pour poursuivre la mise à jour.

Ai-je fait une erreur ?
Sinon, est-ce que je peux court-circuiter les tests de prérequis pour poursuivre la mise à jour ? Comment ?

Merci pour votre éclairage.
Moyenne des évaluations  -
En réponse à Mazzhe M.

Re: Mise à jour : prérequis non satisfait (faux positif)

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

Pour bien comprendre, votre version 2.2.11 est déjà en MariaDB ?

Est-ce que votre config.php contient les lignes :

$CFG->dbtype    = 'mariadb'; 
$CFG->dblibrary = 'native';

A bientôt,
Patrick

En réponse à Patrick Lemaire

Re: Mise à jour : prérequis non satisfait (faux positif)

par Mazzhe M.,
Bonjour, et merci pour votre réponse.

Oui, la version 2.2.11 tourne sur un serveur mariaDB.
Cependant, le fichier config.php ne contient pas les lignes indiquées mais
$CFG->dbtype    = 'mysql';

En effet, nous étions précédement sur un autre serveur, en mysql. La configuration n'a pas été modifiée lors de la migration et cela n'a pas posé de problème... jusqu'à aujourd'hui. Je suppose que la difficulté vient de là ?

Suite à votre message, j'ai essayé de changer la configuration, mais cela me créé une erreur :

Error: database driver problem detected
The site administrator should verify server configuration
Unknown driver native/mariadb

Je suppose qu'il faut que j'arrive à valider le changement de type de base, puis à retenter la mise à jour ?

Je vais regarder ça (mais je suis preneur de pistes, si vous en avez à me proposer !)

Merci.



En réponse à Mazzhe M.

Re: Mise à jour : prérequis non satisfait (faux positif)

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

En effet, ça doit se passer par là. Je me suis basé sur les indications de la documentation officielle qui traite de MariaDB.

Une indication n'avait pas retenu mon attention cependant : "Moodle MariaDB driver is not compatible with MyISAM database engine". Se pourrait-il que vous soyez en MyISAM ?

Peut-on avoir une copie de /admin/phpinfo.php ? Attention aux informations trop sensibles ! Ne pas déposer le contenu intégrale. Seules les parties "MySQL" et "MySQLi" nous intéressent ici.

A bientôt,
Patrick

En réponse à Patrick Lemaire

Re: Mise à jour : prérequis non satisfait (faux positif)

par Mazzhe M.,

Bonjour,

Oui, mes tables sont en MyISAM, d'après ce que je vois par phpmyadmin... triste

Quelles sont les solutions ?


Voici l'extrait de phpinfo :

mysql

MySQL Supportenabled
Active Persistent Links 0
Active Links 0
Client API version 5.5.40
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE -I/usr/include/mysql
MYSQL_LIBS -L/usr/lib/x86_64-linux-gnu -lmysqlclient_r

DirectiveLocal ValueMaster Value
mysql.allow_local_infileOnOn
mysql.allow_persistentOnOn
mysql.connect_timeout6060
mysql.default_hostno valueno value
mysql.default_passwordno valueno value
mysql.default_portno valueno value
mysql.default_socket/var/run/mysqld/mysqld.sock/var/run/mysqld/mysqld.sock
mysql.default_userno valueno value
mysql.max_linksUnlimitedUnlimited
mysql.max_persistentUnlimitedUnlimited
mysql.trace_modeOffOff

mysqli

MysqlI Supportenabled
Client API library version 5.5.40
Active Persistent Links 0
Inactive Persistent Links 0
Active Links 1
Client API header version 5.5.38
MYSQLI_SOCKET /var/run/mysqld/mysqld.sock

DirectiveLocal ValueMaster Value
mysqli.allow_local_infileOnOn
mysqli.allow_persistentOnOn
mysqli.default_hostno valueno value
mysqli.default_port33063306
mysqli.default_pwno valueno value
mysqli.default_socket/var/run/mysqld/mysqld.sock/var/run/mysqld/mysqld.sock
mysqli.default_userno valueno value
mysqli.max_linksUnlimitedUnlimited
mysqli.max_persistentUnlimitedUnlimited
mysqli.reconnectOffOff
En réponse à Mazzhe M.

Re: Mise à jour : prérequis non satisfait (faux positif)

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

Des solutions sont indiquées dans la documentation de migration de MyISAM vers InnoDB sourire

Séverin

En réponse à Séverin Terrier

Re: Mise à jour : prérequis non satisfait (faux positif)

par Mazzhe M.,

Bon, je viens de passer les tables en innoDB, grâce au script fourni avec moodle :

.../admin/tool/innodb

Elles utilisent maintenant le bon moteur, mais si je modifie le fichier config.php, j'ai toujours l'erreur «unkown driver»... J'en reste donc au même point.

L'extrait de phpinfo vous donne-t-il des informations utiles ?



En réponse à Mazzhe M.

Re: Mise à jour : prérequis non satisfait (faux positif)

par Mazzhe M.,
Mais c'est bien sûr !

«Since Moodle 2.6 there is a dedicated driver for MariaDB.»
Je ne peux donc pas indiquer MariaDB dans le fichier de config qui sert pour la version 2.2.11 !
En revanche, si je l'indique dans celui qui sert pour la version 2.8.2, et maintenant que mes tables sont en innoDB, la mise à jour se déroule sans aucun problème...

Merci Patrick, Séverin et Bruno pour vos conseils.

En réponse à Patrick Lemaire

Re: Mise à jour : prérequis non satisfait (faux positif)

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,

J'ai le même problème en testant les préquis sur ma plateforme (c'est un serveur de test), apparemment le bug a été corrigé.

Je n'ai pas encore eu le temps de faire le test, mais je n'ai plus l'erreur dans les prérequis

Environnement :

Moodle 2.6.2
Suse Linux (SLES 12) / mariadb-10.0.11 / php5-5.5.14

Dans le fichier de config, j'ai bien mis

$CFG->dbtype    = 'mariadb';
$CFG->dblibrary = 'native';


J'ai upgradé les sytème (SLES 11 -> SLES 12), du fait des prérequis pour la version de php, la version 11 de SLES ne disposait pas des nouvelles versions de php, nécessaire pour moodle 2.7+ (sous forme de package)

J'ai donc basculé le système, suis passé de MySQL à Mariadb. Pas trop de souci pour ce changement, du fait que mes bases sont en innodb et non MyISAM

La discussion, en anglais à ce sujet est ici :

https://tracker.moodle.org/browse/MDL-45070

Le patche que j'ai appliqué est ici :

https://tracker.moodle.org/browse/MDL-43604

En ajoutant ce patch, je n'ai plus l'erreur dans le test des prérequis .. mais je n'ai pas encore essayé l'upgrade réel

Qui s'y colle ... ? clin d’œil

En réponse à Bruno Malaval

Re: Mise à jour : prérequis non satisfait (faux positif)

par Mazzhe M.,
Merci, j'avais effectivement vu cette discussion et ce patch, et j'ai vérifié les lignes concernées par le patch, elles contiennent bien les modif.
Cependant, comme pour l'instant je n'arrive pas à changer la config de mysql a mariadb... moodle croit toujours qu'il s'agit d'une ancienne version de mysql, et bloque la mise à jour.