Risoluzione dei problemi di timeout del server
Hai problemi con i timeout del server con Duplicator Pro? Questa guida fornisce soluzioni pratiche per risolvere in modo efficace i problemi relativi ai timeout del server.
Per iniziare, assicurati di utilizzare l'ultima versione di Duplicator Pro. Si prega di controllare il changelog e i requisiti di sistema.
Panoramica: Gestione dei problemi di interruzione della build dell'host
I problemi di timeout si riscontrano comunemente su piattaforme di hosting condiviso a basso costo che impongono limiti al tempo di esecuzione dei processi PHP, del server web o del database. Questi timeout possono essere identificati esaminando i file di log di Duplicator, sia i log di backup che quelli dell'installer. Un log completato con successo visualizzerà il testo "DONE PROCESSING" o "COMPLETE", mentre un log incompleto indica tipicamente che l'host ha imposto restrizioni sul tempo di esecuzione del processo.

Per risolvere questo problema, alcuni host offrono la possibilità di estendere il tempo di esecuzione consentito oltre i limiti predefiniti. Per un elenco completo dei provider di hosting approvati compatibili con Duplicator, fare riferimento alla pagina delle risorse di hosting di Duplicator.
Duplicator LITE
Il processo di build per Duplicator Lite opera come un design a thread singolo, funzionando continuamente fino a quando il sito non viene archiviato. Sebbene la versione Lite possa creare backup fino a 4 GB, le sue prestazioni dipendono in gran parte dall'ambiente di hosting. Duplicator Lite in genere offre le migliori prestazioni con siti inferiori a 500 MB sulla maggior parte degli host economici. Se si verificano problemi di timeout o di build, si consigliano i seguenti passaggi:
- Aggiornamento del server: Gli host economici potrebbero riscontrare limitazioni nella gestione di siti più grandi e complessi. L'aggiornamento a un VPS gestito o a un server dedicato è spesso una soluzione efficace. Questi sistemi offrono un migliore controllo e sono dotati di un eccellente supporto da parte delle società di hosting, garantendo prestazioni migliorate per le attività di backup e migrazione.
- Regola le impostazioni: Esistono diverse opzioni strategiche per ottimizzare le prestazioni con il tuo host attuale e all'interno del plugin stesso. Queste regolazioni possono aiutare a mitigare i problemi di timeout e migliorare il processo di build complessivo.
Duplicator PRO
La Pro Version utilizza un'architettura multi-threaded per gestire meglio set di dati più grandi. Viene inoltre fornita con decine di altre ottime funzionalità che aiutano a migliorare le tue strategie complete di backup/migrazione di WordPress.
Strategia Uno: Risoluzione dei problemi di timeout dall'interno del plugin.
Solo Duplicator Lite
Duplicator Lite & Pro
- Toggle SQL Mode: Considera di provare un processo di build del database diverso. Prova prima “Mysqldump” poi prova “PHP Code”. Vedi Impostazioni » Schede di backup » Modalità SQL.
- Abilita filtri: Molte volte puoi completare un backup creando più filtri di directory su una grande origine dati come la tua cartella wp-content/uploads che contiene file di grandi dimensioni come immagini/filmati/pdf ecc.
- Enable DupArchive: A new format known as DupArchive has been Developed by Duplicator to overcome problems experienced on large sites and restricted host environments. Using DupArchive greatly diminishes the changes you will experience a timeout on backup builds.
- Quando si utilizza DupArchive su Duplicator Lite, c'è un limite di 500 MB per la dimensione del tuo backup. Per utilizzare il nuovo formato imposta:
Duplicator Lite » Impostazioni » Backup » Motore di archiviazione = DupArchiveDuplicator Pro » Impostazioni » Backup » Motore di archiviazione = DupArchive


Strategia Due: Risoluzione dei problemi di timeout con aggiornamenti della configurazione del server web.
Tutte le opzioni seguenti possono aiutare a risolvere i problemi di timeout sia su Duplicator Lite che Pro. Le impostazioni aiuteranno sia la creazione che l'installazione dei backup. I timeout possono essere controllati a tre livelli diversi, quindi dovrai visitarli tutti e collaborare con l'amministratore del tuo server per convalidarli.
Soluzione Uno: Timeout PHP
Il processore PHP andrà in timeout del tuo script e interromperà la connessione dopo un periodo specifico (tipicamente 30 secondi). Questo valore può essere modificato se il tuo provider di hosting lo consente. Duplicator tenterà di modificare questo valore se dispone dei privilegi necessari. In caso contrario, dovrai collaborare con il tuo provider di hosting per risolvere il problema. Sfortunatamente, questo livello di controllo è al di fuori delle nostre capacità.
Risoluzione dei problemi di timeout PHP:
- Il modo più rapido per risolvere un potenziale timeout PHP sul tuo server è contattare il tuo provider di hosting e verificare se offre una soluzione per estendere il tempo di esecuzione PHP oltre i 30 secondi predefiniti. Molti host consentono questa modifica e dovrai consultare la loro documentazione.
- Su alcuni host, puoi aggiungere la seguente riga a un file
.htaccesssituato nella cartella principale del tuo sito web o all'interno della cartellaplugins/duplicator:
php_value max_execution_time 0
Impostare il valore su 0 significa nessun limite di tempo.
Poiché ogni provider di hosting opera in modo diverso, dovresti contattarli direttamente per determinare come regolare questo valore sui loro sistemi. Se non forniscono una soluzione, è probabile che il problema del timeout non possa essere risolto su quel server. In tali casi, potrebbe essere necessario eseguire l'aggiornamento a un server più potente, come un VPS, che può offrire maggiore potenza di elaborazione. In alternativa, puoi provare a utilizzare i filtri per ridurre le dimensioni complessive del tuo backup.
Soluzione Due: Timeout del Web Server
Anche i web server possono imporre un timer al tuo script e terminare la connessione dopo una durata specifica. Questo valore può essere modificato solo dal tuo provider di hosting o dall'amministratore del server. Se ritieni che questo possa essere il problema, ti preghiamo di contattare il tuo provider di hosting per confermare se la loro configurazione impone tali timeout. Si prega di notare che non c'è nulla che possiamo fare per regolare direttamente questa restrizione, quindi non inviare una richiesta per questo problema.
Regolazione dei timeout del server web:
Alcuni web server consentono agli utenti di modificare i timeout senza bisogno dell'assistenza di un amministratore di server. Di seguito sono riportati esempi di configurazioni che potrebbero funzionare per server Apache o Litespeed.
Esempio Uno – Regola di Rewrite di Apache: La seguente RewriteRule può aiutare a prevenire i timeout di connessione sul tuo server. Aggiungila al tuo file .htaccess.
# Example .htaccess file inserted by customer control panel
SetENV PHPRC /home/username/public_html
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^$ - [E=noabort:1]
...
</IfModule>
# END WordPress
Esempio Due – Configurazione FastCGI: Se stai utilizzando FastCGI (fcgi), aggiungi quanto segue al tuo file .htaccess o di configurazione del server:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
FcgidIOTimeout 900
ProcessLifeTime 7200
IPCConnectTimeout 180
IPCCommTimeout 7200
</IfModule>
Esempio 3 – Configurazione Litespeed: Se stai utilizzando Litespeed, aggiungi la seguente regola al tuo file .htaccess o alla configurazione Litespeed:
<IfModule litespeed>
RewriteRule .* - [E=noabort:1]
</IfModule>
In alternativa:
<IfModule Litespeed>
RewriteEngine On
RewriteRule .* - [E=noconntimeout:1]
SetEnv noabort 1
</IfModule>
Soluzione Tre: Timeout del Database
Se stai creando un backup e noti che il log di backup si interrompe improvvisamente su una tabella, con voci come:
…
02:55:06 done: wp_posts
02:55:06 start: wp_stats (1435897)
e non segue alcuna registrazione aggiuntiva, significa che la generazione SQL è fallita. Ecco alcune cose che puoi provare per risolvere questo problema:
Soluzioni alternative per il database
- Option One: Clean Up and Optimize the Database.
- Installa un plugin come WP-Sweep per eliminare i dati non utilizzati. Assicurati di eseguire le impostazioni di ripristino e ottimizzazione. In alternativa, puoi eseguire un ripristino e un'ottimizzazione del tuo database utilizzando uno strumento come phpMyAdmin.
- Option Two: Use
mysqldumpfor Faster Database Backup- Se il tuo provider di hosting supporta mysqldump, l'abilitazione di questa opzione può migliorare la creazione complessiva dei backup e i tempi di installazione per database di grandi dimensioni. Vai al menu Impostazioni, individua l'opzione ‘Database Build’ e seleziona la casella ‘Usa mysqldump’. Questa opzione funziona bene durante la fase di build, ma non durante la fase di installazione.
- Option Three: Use External Tools for Statistical Data
- La maggior parte delle tabelle che falliscono sono correlate ai dati di log e statistici con milioni di record. Consigliamo vivamente di utilizzare strumenti gratuiti come Google Analytics invece di un plugin di statistiche. I plugin personalizzati possono rallentare il tuo sito con richieste aggiuntive e non offrono le stesse capacità di reporting di Google Analytics, che ha un impatto quasi nullo sulle prestazioni del tuo sito.
- Option Four: Temporarily Exclude Large Tables
- Se il tuo database ha tabelle di grandi dimensioni, come le tabelle di log, effettua temporaneamente un backup ed escludile dal processo di build (puoi farlo nel Passaggio 1 durante la creazione di un backup). Puoi quindi reimportare manualmente le tabelle, se necessario. In molti casi, i dati delle tabelle di log non devono essere migrati e possono essere rimossi in sicurezza.
- Option Five: Increase Timeout or Script Processing
- Collabora con il tuo provider di hosting per aumentare i limiti di timeout o di elaborazione degli script per Apache, PHP e MySQL. Consigliamo di utilizzare host approvati che supportano queste configurazioni, poiché generalmente consentono ai tuoi script di terminare l'esecuzione senza problemi.
Soluzione quattro: Problemi con Cloudflare e Duplicator
Se Duplicator riscontra timeout del server mentre Cloudflare è attivo, potrebbe essere correlato a un timeout nella funzionalità Railgun di Cloudflare. Puoi saperne di più su questa funzionalità qui: Errore 524 di Cloudflare.
Per risolvere il problema, puoi provare a disabilitare temporaneamente questa funzionalità e quindi eseguire il processo Duplicator. Segui questi passaggi:
- Accedi al tuo account Cloudflare.
- Nella pagina Panoramica, fai clic su “Avanzate”.
- Fai clic su “Pausa”.
- Esegui il deployment dell'installer.
- Una volta completato, riattiva Cloudflare.
Questo ti aiuterà a determinare se Cloudflare sta causando il problema e ti permetterà di procedere con il processo di migrazione o backup.
Strategia tre: Soluzioni alternative manuali per il tempo
Timeout di backup
Se il log indica che hai superato il processo di script del database, potresti riscontrare timeout durante il backup di tutti i tuoi file. Di seguito sono riportati alcuni passaggi che puoi provare se incontri problemi durante il backup dei file:
- Escludi file di grandi dimensioni: Escludi file di grandi dimensioni come filmati, immagini di grandi dimensioni o altri file di backup (ad esempio, file
.zipo.tar) dalla sezione dei filtri dei file. - Escludi wp-content/uploads: Aggiungi la cartella
wp-content/uploadsall'opzione dei filtri delle directory. Dopo che l'installazione è completa nella nuova posizione, puoi copiare/trasferire manualmente quei file. - Esegui un Installazione in due parti

Timeout del primo passaggio dell'installer
Se possibile, prova a ricreare un backup più piccolo escludendo file/directory più grandi che possono essere spostati manualmente (vedi Timeout di backup sopra).
Nel passaggio 1, sotto opzioni, prova il passaggio “Estrazione manuale”. Per una guida passo passo su come eseguire un'estrazione manuale, consulta questi passaggi:

Vedi anche: Come fare un’estrazione manuale o eseguire l’installer senza Zip abilitato?.
Timeout del secondo passaggio dell'installer
Se il tuo database è troppo grande per la configurazione del tuo server, fai riferimento ai passaggi/opzioni sotto “Timeout database”.
- Solo utenti Pro abilita Opzioni » Chunking » richieste multi-thread per dividere il file SQL.
- Abilita l'opzione Setup » Azione » Esecuzione SQL manuale (avanzato). Questo richiede che tu abbia importato manualmente il database in anticipo. Questo può essere fatto dal tuo host o da uno strumento come phpMyAdmin se supporta siti più grandi.