J3.x

I nomi utente duplicati causano problemi di aggiornamento

From Joomla! Documentation

This page is a translated version of the page J3.x:Duplicate usernames cause update issue and the translation is 88% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎français • ‎italiano • ‎Nederlands • ‎Türkçe

In alcuni siti web, l'aggiornamento a Joomla 3.9.16 comporta un errore nel database a causa della duplicazione dei nomi utente. Se questo accade non fatevi prendere dal panico - l'aggiornamento è stato per lo più completato senza problemi e funziona come al solito, la modifica del database rimanente può essere applicata dopo aver seguito le istruzioni riportate di seguito.

Errori segnalati

Gli utenti ricevono un errore di aggiornamento relativo a una query di database non riuscita a causa di una chiave duplicata nel loro sito #__users tabella in caso di aggiornamento da Joomla 3.9.15 o superiore.

Joomla 3.9.16 Upgrade Error

Versioni interessate

Informazioni Generali

Questo riguarda solo la(e) versione(i) di Joomla!: 3.9.16

Qual è la causa

Il vostro sito web ha più di un utente nel #__users con lo stesso nome utente, il che è un problema di sicurezza in quanto l'account non corretto può essere accessibile dal proprietario dell'account sbagliato.

Come risolvere

Dovrete rivedere il vostro #__users nel vostro database e correggere eventuali nomi utente duplicati rimuovendo i vecchi account utente o cambiare il nome utente fino a quando tutti i nomi utente sono unici. Una volta terminato questo passaggio, se avete già eseguito l'aggiornamento alla 3.9.16 eseguite lo strumento di correzione dello schema del database per completare l'aggiornamento (questo passaggio non è necessario se fate questa revisione prima dell'aggiornamento).

Joomla non è in grado di determinare automaticamente l'azione corretta da intraprendere e di conseguenza non è in grado di eseguire questo passo per voi - deve essere fissato da voi come proprietario del sito.

Le seguenti query SQL possono essere eseguite sul vostro database per visualizzare quali nomi utente sono duplicati:

SELECT username FROM #__users GROUP BY username HAVING COUNT(*) > 1

One possible way to make resolving this simpler might be to remove all users who have never visited the site. Though this should be done with care, and ensure to backup the table first. After running this query, you can check again how many duplicate users you have.

DELETE FROM #__users WHERE lastvisitDate = "0000-00-00 00:00:00"