Piwigo : Erreur Unknown column ‘last_visit’ in ‘field list’ après mise à jour en 2.9.x

Logo Piwigo.org

Après une mise à jour en version 2.9.2 de ma galerie Piwigo, je me suis retrouvé avec un message erreur systématique sur toutes les pages du genre :

Warning: [mysql error 1054] Unknown column 'last_visit' in 'field list'
  UPDATE piwigo_user_infos
  SET last_visit = NOW(),
  lastmodified = lastmodified
  WHERE user_id = 1
in /.../include/dblayer/functions_mysqli.inc.php on line 845

Après une brève recherche sur Internet, je me suis aperçu que plusieurs autres galeries en ligne rencontraient également le même problème, mais sans trouver de solution pour y remédier. Une seule solution : les mains dans le cambouis…

Première vérification, la version de ma galerie afin de m’assurer que j’étais bien en 2.9.2, ce qui était bien le cas. Aucun souvenir d’un quelconque message d’erreur à la mise à jour.

Au vu du message d’erreur MySQL, je jette alors un œil dans la table user_infos pour constater que, effectivement, les champs « last_visit » & « last_visit_from_history » sont absents, la mise à jour, ne s’est donc pas correctement passée.

En exécutant la requête SQL de mise à jour pour la création de ses deux champs, je suis confronté à une autre erreur :

ERROR 1067 (42000): Invalid default value for 'registration_date'

Nouvelle inspection de la table en question pour regarder, cette fois la configuration du champ « registration_date ». Je constate alors qu’il est en format « datetime » avec une valeur par défaut « 0000-00-00 00:00:00 ». Voilà donc l’origine de mon problème de mise à jour, ma base de donnée n’acceptant apparemment pas une valeur 0 dans un champ date.

Il ne reste plus qu’à changer cela, pour que la valeur par défaut ne soit plus 0 mais une date, à l’aide de la requête SQL suivante :

ALTER TABLE `piwigo_user_infos`
 MODIFY COLUMN `registration_date` datetime NOT NULL default '1970-01-01 00:00:00';

Ma table ayant cette fois une structure acceptable pour ma base de données, il ne me reste plus qu’à exécuter les requêtes de création des nouveaux champs, qui cette fois devrait fonctionner :

ALTER TABLE `piwigo_user_infos`
 ADD COLUMN `last_visit` datetime default NULL,
 ADD COLUMN `last_visit_from_history` enum('true','false') NOT NULL default 'false';

La requête s’exécute maintenant parfaitement et le message d’erreur disparaît enfin des pages de ma galerie.

Mise à jour de sécurité WordPress 4.7.3

Cette nuit, une nouvelle version de WordPress vient d’être publiée. Cette dernière vient corriger 6 failles de sécurité et le bogue rencontré lors de la mise en ligne de certains types de fichier. Si la mise à jour autonome n’a pas été désactivée, cette mise à jour devrait se faire seule et dans le cas contraire lancez simplement la mise à jour depuis votre tableau de bord.

Vague d’attaque contre les sites WordPress en cours

Le 26 janvier dernier, une mise à jour de sécurité de WordPress a été publiée. Cette vulnérabilité, semble faire depuis quelques jours l’objet d’une large campagne d’exploitation par les pirates à l’origine de mise hors service de nombreux site. Faites la mise le plus rapidement possible en particulier si vous avez désactivé les mises à jour autonomes. On ne le répétera jamais assez « Faites les mises à jour de sécurité » Merci de vous assurer de la mise à jour de votre site WordPress vers les versions suivantes :

  • Branche 4.7.x => 4.7.2
  • Branche 4.6.x => 4.6.3
  • Branche 4.5.x => 4.5.6
  • Branche 4.4.x => 4.4.7
  • Branche 4.3.x => 4.3.8
  • Branche 4.2.x => 4.2.12
  • Branche 4.1.x => 4.1.15
  • Branche 4.0.x => 4.0.15
  • Branche 3.9.x => 3.9.16
  • Branche 3.8.x => 3.8.18
  • Branche 3.7.x => 3.7.18

Si votre version est antérieure aux différentes branches citées ci-dessus, il faut mettre à jour votre installation vers une des versions ayant fait l’objet de cette correction pour être protégé.

Merci de relayer cette information largement pour la sécurité de tous.

1 2 3 16