PHP 8.6: cosa cambia e come testarlo prima del rilascio del 19 novembre 2026
PHP 8.6 è in Release Candidate, GA il 19 novembre 2026. Novità, deprecazioni da controllare e come installare l'RC su Ubuntu senza toccare la produzione.
Redazione UptimeMag · 12 ottobre 2026 · 2 minuti di lettura

PHP 8.6 è arrivato alla terza Release Candidate. La RC3 è datata 8 ottobre 2026, come riportato dalla pagina ufficiale delle pre-release di php.net. La data di General Availability resta fissata al 19 novembre 2026, secondo il calendario pubblicato da php.watch. Per chi gestisce server di produzione è il momento di provare l'aggiornamento su un ambiente separato, non di aspettare il giorno del rilascio.
Le novità principali
Tra le funzionalità confermate per PHP 8.6, secondo il riepilogo di stitcher.io:
- Partial function application (PFA): si può creare una closure con alcuni parametri già compilati usando
?come segnaposto, utile insieme al pipe operator introdotto in 8.5. - Readonly property defaults: le proprietà
readonlypossono finalmente avere un valore di default, cosa che prima non era permessa. - Time\Duration: nuova classe per rappresentare durate con precisione al nanosecondo, con metodi aritmetici e di confronto.
- clamp(): nuova funzione nativa che forza un valore dentro un intervallo minimo/massimo, su numeri, stringhe e oggetti
DateTime. - Polling API (namespace
Io\Poll): interfaccia unificata per epoll (Linux), kqueue (BSD/macOS), event ports (Solaris) e WSAPoll (Windows), pensata soprattutto per chi scrive librerie async o lavora su PHP-FPM. - DocComments sui parametri:
ReflectionParameter::getDocComment()legge commenti scritti direttamente a fianco del singolo parametro.
Cosa controllare prima di migrare
Alcune deprecazioni toccano codice che gira in produzione da anni. Dal changelog riportato da stitcher.io:
- Return da un blocco
finally: è deprecato, perché da sempre fonte di bug poco chiari. define()con l'argomentocase_insensitive: il supporto alle costanti case-insensitive era già rimosso di fatto, ora anche l'opzione viene deprecata.spl_object_hash(): da sostituire conspl_object_id(), come segnalato già nelle note di upgrade della Beta 1.- Passaggio di oggetti dove sono attese array (es.
array_walk()): comportamento deprecato perché può causare corruzioni di memoria. - Default di sessione:
session.use_strict_modepassa da 0 a 1,session.cookie_httponlyda 0 a 1,session.cookie_samesiteda stringa vuota aLax. Chi gestisce login e flussi cross-site deve verificare che l'applicazione non dipenda dai vecchi default.
Attenzione anche a mb_ereg(), mb_ereg_replace() e mb_split(): le funzioni mbregex basate su Oniguruma sono deprecate, con rimozione prevista in PHP 9.0.
Come installarlo su Ubuntu senza toccare la produzione
La build RC va compilata da sorgente in una directory separata, non installata come PHP di sistema. I pacchetti ufficiali sono su php.net/pre-release-builds.php:
wget https://www.php.net/distributions/php-8.6.0RC3.tar.gz
tar xzf php-8.6.0RC3.tar.gz
cd php-8.6.0RC3
./configure --prefix=/opt/php86rc
make -j$(nproc)
sudo make install
Per verificare che il binario di test sia quello giusto, senza toccare il php di sistema:
/opt/php86rc/bin/php -v
Il comando restituisce la versione attiva in quel percorso: se compare PHP 8.6.0RC3 il binario è isolato e il PHP di produzione resta quello già configurato su /usr/bin/php. Per il changelog completo dei cambiamenti tra una RC e l'altra, la fonte di riferimento resta la pagina ufficiale delle release, aggiornata a ogni nuova QA release.
Testo redatto con il supporto dell'intelligenza artificiale e verificato dalla redazione (AI Act, art. 50).