AGGIORNAMENTO E UPGRADE · YII

Yii su PHP 8.
Yii 1.1, Yii 2 e il passo dopo.

Aggiorniamo le applicazioni Yii 1.1 all’ultimo rilascio del ramo e le portiamo su PHP 8.3 o 8.4, poi pianifichiamo con te la migrazione verso Yii 2, Yii3 o un altro framework.

Per gestionali, portali e pannelli costruiti con Yii tra il 2010 e oggi, ancora su PHP 5 o 7, con Yii 1.1 che arriva a fine vita il 31 dicembre 2026 e Yii 2.0 in sola sicurezza da novembre 2026.

PERCORSO DI UPGRADE

Dal ramo che hai.
Al ramo supportato.

Il ramo 1.1 è stato adattato fino a PHP 8.4, quindi il primo passo è quasi sempre aggiornare il framework dentro il ramo e portare l’applicazione su un PHP supportato. La migrazione a Yii 2 o Yii3 è una riscrittura e va pianificata a parte.

  1. 01Yii 1.1 prima della 1.1.23PHP 5 o 7

    Versioni del ramo senza supporto per PHP 8

  2. 02Yii 1.1.32PHP 8.3 – 8.4

    Ultimo rilascio del ramo, fine vita il 31 dicembre 2026

  3. 03Yii 2.0.50 o successivaPHP 7.3 – 8.4

    Riscrittura, sola sicurezza dal 23 novembre 2026

  4. 04Yii3PHP 8.2 o superiore

    Rilasciato a fine 2025, fine vita indicata al 2035

VERSIONI E REQUISITI PHP

Versioni e PHP.
Ramo per ramo.

Requisiti e date secondo la pagina del ciclo di rilascio di Yii, con le versioni di PHP supportate dal ramo 1.1 ricavate dal suo registro delle modifiche.

RamoPHPStato a novembre 2026
Yii 1.1 fino alla 1.1.225.1 o superiore, senza PHP 8da aggiornare all’ultimo rilascio del ramo
Yii 1.1.325.1 o superiore, fino a 8.4manutenzione, fine vita il 31 dicembre 2026
Yii 2.0 fino alla 2.0.495.4 – 8.3solo sicurezza, fine vita il 23 novembre 2026
Yii 2.0 dalla 2.0.507.3 – 8.4sola sicurezza dal 23 novembre 2026, fine vita il 23 novembre 2027
Yii38.2 o superioresupporto attivo, fine vita il 31 dicembre 2035

Fonti: Ciclo di rilascio di Yii · CHANGELOG di Yii 1.1 · Guida all’aggiornamento da Yii 1.1. 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 aggiornato gira su PHP 8. I problemi stanno quasi sempre nel codice scritto sopra il framework e nelle estensioni.

Framework fermo a una versione vecchia

Le versioni di Yii 1.1 precedenti alla 1.1.23 non supportano PHP 8. Sostituiamo il framework con l’ultimo rilascio del ramo, leggendo tutte le istruzioni di aggiornamento intermedie, che sono cumulative.

Widget e jQuery UI aggiornati

Dopo la 1.1.23 jQuery UI è passato alla 1.12, con possibili differenze nei selettori di date e nelle finestre di dialogo. Proviamo nel browser le pagine con widget JavaScript, oltre che lato server.

Estensioni non più mantenute

Widget, generatori di PDF e client di servizi esterni scaricati anni fa dal catalogo delle estensioni spesso non funzionano su PHP 8. Li correggiamo o li sostituiamo con pacchetti mantenuti installati con Composer.

Proprietà dinamiche da PHP 8.2

Le classi che estendono CModel o CActiveRecord gestiscono le proprietà con i propri metodi magici. Helper e servizi scritti senza estendere il framework vanno invece corretti, e li troviamo con l’analisi statica.

Yii 2 e Yii3 sono riscritture

Yii 2.0 è stato riscritto da zero e Yii3 è organizzato in pacchetti indipendenti. Controller, viste e buona parte dei modelli si riscrivono, mentre schema del database e logica di business si conservano.

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

    Rileviamo la versione di Yii, quella di PHP, le estensioni e le librerie copiate nel progetto. Ne esce una matrice di compatibilità con l’ultimo rilascio del ramo e con PHP 8.3 o 8.4.

  2. 02STAGING

    Aggiornamento del ramo

    Sostituiamo il framework, svuotiamo gli asset pubblicati e lanciamo il controllo dei requisiti sul server di destinazione. Poi correggiamo codice ed estensioni con analisi statica e tutti gli avvisi attivi.

  3. 03UPGRADE

    Test con l’applicazione reale

    Proviamo l’applicazione in un ambiente di prova con la nuova versione di PHP e una copia dei dati, nel browser e lato server. Le pagine con widget JavaScript ricevono un controllo dedicato.

  4. 04RILASCIO

    Rilascio e ponte

    Il rilascio avviene con Ansible e un piano di rollback. Se la produzione è esposta e non può aspettare, il backport delle patch di sicurezza protegge il PHP in uso fino al passaggio.

DOMANDE FREQUENTI

Prima di iniziare.

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

Cosa succede a Yii 1.1 dopo il 31 dicembre 2026?

Il progetto non pubblicherà più correzioni per il ramo, né di sicurezza né di compatibilità. Un’applicazione su Yii 1.1.32 e PHP 8.4 resta comunque in una posizione molto migliore di una ferma su PHP 5.6, perché PHP 8.4 riceve correzioni di sicurezza fino al 31 dicembre 2028. Eventuali nuove vulnerabilità del framework andranno corrette nel repository dell’applicazione.

Conviene migrare subito a Yii 2?

Dipende da quanto deve vivere l’applicazione. Yii 2.0 passa alla sola sicurezza dal 23 novembre 2026, quindi chi lo sceglie oggi deve mettere in conto un altro aggiornamento a breve. Per un’applicazione destinata a durare molti anni valutiamo anche Yii3 o un altro framework moderno.

Yii 1.1 e Yii 2 possono convivere?

Sì. La guida ufficiale di Yii 2 dedica una sezione all’uso dei due framework nella stessa applicazione, e questo permette di migrare per sezioni invece che con un rilascio unico.

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 ↗