Una patch di sicurezza PHP all'interno di un container arriva di norma tramite un'immagine ricreata. Scaricare quell'immagine e metterla in servizio sono passaggi distinti. Il piano di aggiornamento deve anche proteggere il database e i file persistenti che sopravvivono al container.
Esegui il backup dei dati dell'applicazione, del relativo database, se presente, e della configurazione prima di modificare l'immagine. Scarica una versione corretta e supportata, ricrea il servizio, verifica il container sostitutivo e controlla l'azione utente più importante prima di registrare l'aggiornamento come completato.
1. Registra la distribuzione attuale
Conferma la directory del progetto e i nomi dei servizi con docker compose ps. Registra i tag e gli ID delle immagini attuali con docker compose images, oltre alla posizione dei volumi persistenti e dei dati del database. Conserva una copia protetta della configurazione Compose senza esporre segreti nei log condivisi.
Controlla le note di rilascio dell'immagine di destinazione per verificare la correzione PHP. Un tag denominato latest non dimostra la presenza di una patch specifica. Se usi un digest fissato, deve essere sostituito con il digest verificato della nuova versione.
2. Esegui un backup coerente
Usa il metodo di backup documentato dall'applicazione. Conserva la configurazione, i file e un backup del database riferiti a un punto di ripristino coerente. Se l'applicazione lo richiede, coordina la sospensione delle scritture o l'attivazione della modalità di manutenzione. Una copia del file system della directory di un database in esecuzione non è sempre un sostituto valido di un backup del database.
Conserva la copia di ripristino in un luogo non accessibile in scrittura dall'applicazione e assicurati di sapere come ripristinarla. Conserva la configurazione precedente e il riferimento all'immagine, ma ricorda che ripristinare una vecchia immagine vulnerabile non significa rimetterla direttamente su Internet.
3. Scarica e ricrea il servizio previsto
Per un'immagine pubblicata dal manutentore, aggiorna il riferimento all'immagine del servizio a una versione fissa compatibile, quindi usa questo esempio dalla directory corretta del progetto. Sostituisci app con il nome del servizio della tua applicazione PHP:
docker compose pull app
docker compose up -d --no-deps app
docker compose ps
docker compose exec -T app php -vDocker documenta che pull scarica le immagini senza avviare i container; up applica le modifiche all'immagine o alla configurazione ricreando i container. In questo caso, --no-deps limita la modifica al servizio selezionato. Usalo solo se i servizi dipendenti sono già operativi e compatibili.
Per le build personalizzate, aggiorna la base PHP o i pacchetti pertinenti, ricompila tramite la normale pipeline di build e distribuisci l'immagine risultante. Ripeti l'operazione per i processi worker che usano quell'ambiente di esecuzione. Non applicare patch alla shell di un container effimero pensando che la correzione persisterà quando verrà ricreato.
4. Convalida l'applicazione prima di riaprire l'accesso
Controlla localmente i log per individuare errori di avvio senza condividere token o percorsi privati. Conferma l'ambiente di esecuzione web, poi prova l'accesso, la navigazione dei file, un piccolo caricamento e un'attività in background. Verifica che i percorsi dei volumi e i permessi siano ancora conformi alla configurazione prevista.
Se l'accesso pubblico è stato limitato, ripristinalo solo dopo aver superato i controlli della versione e delle funzionalità. Il solo stato verde del container non dimostra che i caricamenti o le attività in background funzionino.
5. Esegui il ripristino con attenzione se la convalida non riesce
Mantieni il servizio isolato durante le verifiche. Ripristina insieme i file dell'applicazione e lo stato del database quando le regole di migrazione dell'app lo richiedono; modificare solo l'immagine può essere rischioso dopo un aggiornamento dello schema. Non usare docker compose down -v come scorciatoia per la risoluzione dei problemi, perché può rimuovere i volumi con nome.
Per gli utenti di ZimaCube 2, separa il registro degli aggiornamenti dai file in blocco e conserva backup indipendenti. Un aggiornamento riuscito si conclude con un ambiente di esecuzione noto, le funzioni dell'applicazione operative e una procedura di ripristino che sai ancora spiegare.
Scopri ZimaCube 2 Personal Cloud Home NAS per il tuo spazio di archiviazione privato e la configurazione delle applicazioni self-hosted. La sicurezza del software dipende dai servizi installati, dalla loro configurazione e dagli aggiornamenti verificati.
Continua la serie sulla sicurezza PHP
Fonti e ambito
Verificato il 22 ottobre 2026. I consigli per la distribuzione devono essere adeguati alla documentazione della tua applicazione e del fornitore; questi articoli non attestano l'esposizione di prodotti specifici.
Supporto e consigli
Altro da leggere

Come verificare i requisiti di memoria e runtime prima di eseguire LFM2.5-24B-A2B
Verifica il formato dei pesi di LFM2.5-24B-A2B, l’overhead di memoria, le versioni del runtime, il contesto e la compatibilità con gli strumenti prima di...

Come testare Granite Speech 5.0 con file audio in inglese archiviati sul tuo NAS
Prova Granite Speech 5.0 con una breve registrazione in inglese dal tuo NAS. Verifica la revisione del checkpoint, il runtime, la frequenza di campionamento,...

Come preparare i file e le autorizzazioni per un flusso di lavoro Claude Duet
Prepara un'attività Claude Duet con i file selezionati, account collegati con ambiti limitati, bozze separate, risultati verificabili e un piano chiaro per rimuovere la...

