AGGIORNAMENTO E UPGRADE · LARAVEL

Laravel su PHP 8.
Una major alla volta.

Aggiorniamo le applicazioni Laravel rimaste indietro di più versioni principali seguendo la guida ufficiale di ogni passaggio, con test sui percorsi critici e le dipendenze affrontate per prime.

Per applicazioni ferme su Laravel 5, 6 o 8, con un framework senza patch, un PHP spesso fuori supporto e pacchetti che nel frattempo hanno cambiato nome, interfaccia o manutentore.

PERCORSO DI UPGRADE

Dal ramo che hai.
Al ramo supportato.

Ogni versione di Laravel supporta un intervallo di versioni di PHP, e intervalli consecutivi si sovrappongono. Aggiorniamo Laravel finché il PHP in uso lo consente, poi PHP restando sulla stessa versione di Laravel, poi di nuovo Laravel.

  1. 01Laravel 6PHP 7.2 – 8.0

    Punto di partenza tipico, fuori supporto da settembre 2022

  2. 02Laravel 8PHP 7.3 – 8.1

    Passando per Laravel 7, poi PHP 8.0 sulla stessa versione

  3. 03Laravel 10PHP 8.1 – 8.3

    Dopo Laravel 9, che sostituisce SwiftMailer con Symfony Mailer

  4. 04Laravel 12PHP 8.2 – 8.5

    Dopo Laravel 11, sola sicurezza fino al 24 febbraio 2027

  5. 05Laravel 13PHP 8.3 – 8.5

    Supporto attivo, sicurezza fino al 17 marzo 2028

VERSIONI E REQUISITI PHP

Versioni e PHP.
Ramo per ramo.

Ogni versione principale riceve correzioni di bug per 18 mesi e di sicurezza per 2 anni. La tabella riassume le versioni che incontriamo più spesso nei progetti da aggiornare.

VersioneUscitaPHP supportatoStato a novembre 2026
Laravel 5.8febbraio 20197.1.3 o superiorefuori supporto da febbraio 2020
Laravel 6 (LTS)settembre 20197.2 – 8.0fuori supporto da settembre 2022
Laravel 8settembre 20207.3 – 8.1fuori supporto da gennaio 2023
Laravel 9febbraio 20228.0 – 8.2fuori supporto da febbraio 2024
Laravel 10febbraio 20238.1 – 8.3fuori supporto da febbraio 2025
Laravel 11marzo 20248.2 – 8.4fuori supporto da marzo 2026
Laravel 12febbraio 20258.2 – 8.5solo sicurezza fino al 24 febbraio 2027
Laravel 13marzo 20268.3 – 8.5supporto attivo, sicurezza fino al 17 marzo 2028

Fonti: Note di rilascio di Laravel 13 · Guida di aggiornamento di Laravel. La matrice dei rami di PHP con le distribuzioni Linux è nella pagina Versioni PHP.

COSA TROVIAMO DI SOLITO

Cosa blocca l’upgrade.
E come lo sblocchiamo.

Il framework si aggiorna seguendo la guida di ogni versione. I tempi li decidono le dipendenze, i test e i passaggi in cui cambia PHP.

Il salto diretto all’ultima versione

Laravel pubblica una guida per ogni passaggio da una versione alla successiva, e nessuna da 6 a 13. Saltando più versioni le modifiche si sommano e non si capisce quale ha rotto cosa, quindi procediamo una major alla volta.

Pacchetti di terze parti fermi

Ogni pacchetto deve avere una versione compatibile con la nuova major, e alcuni sono stati abbandonati. Con composer why-not troviamo quelli che bloccano il passaggio e li aggiorniamo, sostituiamo o eliminiamo all’inizio.

Pochi test o nessuno

Una serie di aggiornamenti senza test è una scommessa ripetuta a ogni versione. Prima di toccare il framework scriviamo test HTTP su login, form, checkout, API, code e comandi pianificati.

Il passaggio da PHP 7 a PHP 8

Oltre al framework cambia il comportamento del linguaggio, dai confronti tra numeri e stringhe agli avvisi promossi a eccezioni. Lo facciamo su una versione di Laravel che si conosce bene, separato da ogni altro aggiornamento.

Le modifiche ad alto impatto

Helper globali rimossi in Laravel 6, factory diventate classi in Laravel 8, Symfony Mailer e Flysystem 3 in Laravel 9, migrazioni di colonne in Laravel 11. Le guide le classificano per impatto e le verifichiamo una per una.

IL METODO

Il nostro intervento.
Passo dopo passo.

Se la migrazione richiede tempo, nel frattempo teniamo protetto il PHP in uso con il backport delle patch di sicurezza.

  1. 01INVENTARIO

    Inventario e matrice

    Elenchiamo versione di Laravel, PHP, pacchetti diretti e versioni disponibili per ciascuno. Ne esce una matrice che fissa l’ordine dei passaggi di Laravel e di PHP fino alla versione supportata.

  2. 02STAGING

    Test prima del framework

    Scriviamo test HTTP sui percorsi che contano per l’azienda e aggiungiamo l’analisi statica. Su ogni passaggio i test girano in un ambiente di prova con la stessa versione di PHP della produzione.

  3. 03UPGRADE

    Una major alla volta

    Su un ramo dedicato aggiorniamo le dipendenze indicate dalla guida, applichiamo le modifiche, lanciamo i test e correggiamo. Confrontiamo anche la configurazione con lo scheletro laravel/laravel della nuova versione.

  4. 04RILASCIO

    Rilascio e ponte

    Rilasciamo con Ansible almeno nei punti in cui cambia PHP, con un piano di rollback che include le migrazioni del database. Intanto il backport delle patch di sicurezza protegge il PHP fuori supporto.

DOMANDE FREQUENTI

Prima di iniziare.

Le domande che ci fanno più spesso su Laravel e PHP.

Quanto dura ogni passaggio di versione?

Le guide ufficiali stimano tempi brevi per un’applicazione standard, da pochi minuti a un’ora per passaggio. Un’applicazione reale, con molti pacchetti e personalizzazioni, richiede di più, ma il lavoro resta diviso in unità che si possono pianificare e rilasciare.

Va rilasciata in produzione ogni versione intermedia?

Non è obbligatorio. Conviene farlo almeno nei punti in cui cambia PHP, perché il server va comunque aggiornato e un rilascio intermedio riduce le modifiche che arrivano insieme in produzione.

Laravel Shift può fare il lavoro al posto nostro?

Shift è un servizio della comunità citato dalle guide, che automatizza buona parte delle modifiche meccaniche e fa risparmiare tempo. La revisione del risultato, le dipendenze e i test restano comunque necessari.

Quali versioni di Laravel sono supportate oggi?

A novembre 2026 ricevono correzioni solo Laravel 12, in sola sicurezza fino al 24 febbraio 2027, e Laravel 13, che richiede almeno PHP 8.3 e riceve correzioni di sicurezza fino al 17 marzo 2028.

IL PROSSIMO PASSO

Aggiorniamo
il tuo progetto.

Indicaci versione della piattaforma, versione di PHP e sistema operativo. Ti risponderemo con una prima valutazione del percorso di upgrade e di cosa serve per arrivarci.

Richiedi una valutazione
PHP LEGACY · MANAGED SERVER S.R.L.info@phplegacy.it +39 02 5656 9681

Lunedì – venerdì · 09:30 – 19:30

Urgenza in corso? Reperibilità H24
+39 340 985 4556 ↗