Complete restore can leave the site half-restored
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 20/100
Direzione di ricerca
The issue describes restore behavior in the file-copy and EventSource request paths, but names no source files or tests. Read the restore implementation and inspect the open pull request #251 to understand the proposed fix. Done means the running BackWPup version remains in place and the copy finishes after the browser leaves the page.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Two ways a complete restore leaves a mix of old and restored files:
- The backup's BackWPup replaces the running plugin. The file step copies
wp-content/plugins/backwpupfrom the backup over the plugin running the restore. The database step and the cleanup then run the backup's (often older) code, so fixes in the installed version are not used. - Leaving the restore page aborts the copy. The file copy runs in one EventSource request without
ignore_user_abort. Following a link, closing the tab or dismissing an admin notice via its link makes PHP abort the copy halfway.
To Reproduce
- Install a newer BackWPup than the one in the backup and start a complete restore. After the file step,
wp-content/plugins/backwpup/backwpup.phphas the backup's version. - On a site with All-In-One WP Security's firewall (loaded via
auto_prepend_file), restore a backup containing a different AIOS version and leave the page while "Restoring: Directories" is running.
Observed
For case 2, the restore log stops mid-way and every request, including / and the restore page, fails with:
PHP Fatal error: Trait "AIOWPS\Firewall\File_Prefix_Trait" not found
AIOS' new config.php was copied, but the libs/traits/ folder it needs was still queued. The restore can't be resumed from the browser.
Expected behavior
The restore keeps the running BackWPup plugin and finishes the copy even if the browser leaves the page.
System
- BackWPup 5.7.8 (restore code shared with 4.x)
- PHP 8.3, MariaDB, All-In-One WP Security with firewall enabled
A fix is ready as a pull request.
- Lingua principale
- PHP
- Stelle
- 96
- Fork
- 48
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di wp-media/backwpup
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
S3 backup list times are shifted by the site's UTC offset (timezone offset applied twice)Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
WordPress XML export: posts have no categories or tags since 5.6.6Forse già presa @rafaelmaeuer l’ha presa 14 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
-
Complete restore stops after the file step: user is logged out, database is not restoredForse già presa @rafaelmaeuer l’ha presa 14 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
-
Database restore loses data when a row is larger than max_allowed_packetForse già presa @rafaelmaeuer l’ha presa 14 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Tutte le issue di wp-media/backwpup
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 3 giorni
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
[Sync EN] Formatting improvements to "Large Objects (LOBs)" docs (#6056)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Apertasync-en
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Перевод устарел
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
repo:cms
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
craftcms/cms#20613 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno