Risoluzione dei problemi di aggiornamento del database
Prima di iniziare la risoluzione dei problemi relativi all’aggiornamento del database, esegui sempre un backup del database e del codice sorgente.
Se esistono problemi che impediscono l’esecuzione sicura degli aggiornamenti del database, lo script update.php segnalerà un errore.
Leggi attentamente il messaggio di errore per identificare e risolvere il problema.
Moduli o temi non validi
In alcuni casi, update.php può segnalare la presenza di moduli o temi non validi. Ciò accade quando un modulo o un tema è elencato nel file di configurazione core.extension.yml, ma è mancante o incompatibile con il sito.
Per risolvere il problema, verifica innanzitutto di non aver importato una versione errata del file core.extension.yml. Poi, affronta il problema in base al messaggio di errore specifico. Riavvia update.php una volta risolto l’errore.
Il modulo o il tema è mancante
1. Se update.php segnala che un modulo o tema è mancante e stai usando il file core.extension.yml corretto, assicurati che il modulo o il tema sia presente nel codice del sito.
- Ad esempio, controlla le cartelle [site-root]/modules e [site-root]/sites/all/modules per trovare la directory corrispondente al nome del modulo mancante. [site-root]/modules ha priorità su [site-root]/sites/all/modules, ma entrambe vengono analizzate.
2. Se la cartella è completamente assente, trova il modulo su Drupal.org e scaricalo nuovamente nella cartella dei moduli. Assicurati di scaricare una versione compatibile con la tua versione di Drupal.
3. Se la cartella è presente ma contiene file mancanti o corrotti, scarica di nuovo il modulo da Drupal.org e sostituisci la cartella esistente con quella aggiornata, compatibile con la tua versione di Drupal.
4. Se il modulo non è stato scaricato da Drupal.org, cerca la fonte originale.
- Se è un modulo personalizzato del tuo sito o applicazione, recupera la versione originale e aggiungila di nuovo alla cartella dei moduli.
- Se è un modulo di terze parti non presente su Drupal.org (ad esempio su GitHub), trova una versione valida e reinstallala.
5. In casi estremi, se il modulo non può essere trovato, puoi provare a rimuoverne la voce da core.extension.yml. Attenzione: ciò potrebbe causare ulteriori errori critici sul sito.
6. Una volta ripristinato il modulo, riavvia update.php.
Il modulo o il tema non è compatibile con la versione installata di Drupal
1. Se update.php segnala che un modulo o un tema è incompatibile con la versione di Drupal installata, è necessario aggiornare Drupal o aggiornare il modulo/tema.
2. Controlla prima quale versione del core Drupal è installata. Puoi verificarlo nella pagina Rapporti → Rapporto sullo stato (Reports → Status report).
3. Poi controlla la versione del modulo o del tema leggendo il file modules/modulename/modulename.info.yml. Dovresti trovare una delle seguenti righe:
core: 8.x core_version_requirement: ^8.8 || ^9
Ciò significa che il modulo è compatibile con Drupal 8.8+ e Drupal 9. La chiave core: 8.x è facoltativa in questo caso. (Ulteriori informazioni sul parametro core_version_requirement.)
core_version_requirement: ^9
Questo indica compatibilità solo con Drupal 9. (Maggiori informazioni su core_version_requirement.)
core: 8.x
Compatibile solo con Drupal 8.
core: 7.x
Compatibile solo con Drupal 7.
4. Se la versione del core di Drupal è troppo vecchia per il modulo installato, aggiorna il core di Drupal.
5. Se la versione del modulo è troppo vecchia per il core installato, aggiorna o reinstalla una versione più recente del modulo.
6. Se non esiste una versione compatibile del modulo o del core, ripristina la versione precedente dal backup.
7. Una volta che il core di Drupal e il modulo/tema sono compatibili, riavvia update.php.
Il modulo o il tema non è compatibile con la versione installata di PHP
1. Se un modulo o un tema è incompatibile con la versione di PHP installata, controlla nel file modules/modulename/modulename.info.yml una riga come questa:
php: 7.3
2. Opzione 1: installa una versione del modulo o del tema che supporti la versione PHP del tuo sito.
3. Opzione 2: modifica la versione PHP del server per renderla compatibile con il modulo.
4. Una volta che il modulo o il tema e la versione PHP sono compatibili, riavvia update.php.