Migrazione codice php da 5.6 a 8 postato il 12/10/2022 10:31:30 nel forum programmazione, gdrcd, open source, hosting
Molti siti stanno aggiornando il proprio codice dalle vecchie versione php a quella più recente php8. Il mio sito è costruito su una versione php5.6 oramai obsoleta ma appunto, modificando l'assetto alla versione più recente compaiono innumerevoli errori.
Vorrei poter riuscire a migrare alla nuova versione apportando le dovute modifiche manuali al codice, nella consapevolezza che sarà un lavoro certosino e piuttosto impegnativo.
Perciò volevo chiedere a coloro che hanno già affrontato questa gatta da pelare, se si sono rifatti ad un sito in particolare dove magari c'è un elenco del "prima e dopo" che possa aiutarmi a capire cosa sia cambiato nella scrittura del codice ed intervenire.
Se ci sono soluzioni a riguardo, oppure l'unica cosa da fare è rivolgersi ad una figura competente che si occupi di apportare modifiche/cambiamenti alle pagine del sito. Pensate che un non addetto ai lavori non possa riuscire nell'intento pur impegnandosi a correggere ogni singola pagina?
Purtroppo non ho studiato programmazione, tuttavia è qualcosa che mi affascina e che ho imparato a capire poco a poco nel tempo, tuttavia sono consapevole che certe cose mi siano precluse. In questo caso specifico, notando che altri prima di me sono riusciti nell'intento di migrare da una vecchia versione php ad una più recente, vorrei comprendere il procedimento adottato così da assimilare cosa sia cambiato dal linguaggio precedente all'attuale, in modo da non dover necessariamente delegare qualcuno in caso di problemi o se dovessi intervenire personalmente sulla piattaforma per apportare modifiche.
Grazie a chi spenderà qualche minuto del suo tempo su questo argomento.
Pagine → 1
12/10/2022 11:39:48
Ciao staff shadowland
purtroppo stimare la complessità di una migrazione da PHP5 a PHP8 non è semplice, visto che dipende da come è scritto il codice in questione. Di sicuro posso dirti che non è un'operazione banale e che non c'è una guida che può semplificarti la vita.
Tieni presente innanzitutto che tra la versione 5 e la 8 di PHP è stata rilasciata anche la 7, dunque i cambiamenti sono tanti e importanti.. Ma non è detto che a te servano tutti.
In internet si trovano decine e decine di guide che catalogano i cambiamenti, ma probabilmente ti basterebbe leggere/capire il 3% di questi per effettuare la migrazione del tuo sito. Un ago nel pagliaio.
Comunque se vuoi intraprendere questa strada i riferimenti migliori sono quelli ufficiali del sito di PHP. Tieni però presente che in questo caso non ti viene proposta una guida per la migrazione diretta dal 5 al 8, ma bensì devi considerare il passaggio intermedio al 7.
Ecco comunque i link:
https://www.php.net/manual/en/migration70.php ↗
https://www.php.net/manual/en/migration80.php ↗
Di sicuro questa è la strada più lunga e più affidabile. Il problema è che è rivolta ai developer, quindi devi valutare attentamente se per te sia percorribile.
L'alternativa è quella di fare lo switch alla 8 e risolvere errore dopo errore (warnings compresi) finché non te li levi tutti di torno. Ovviamente questo implica una fase di test certosina perché l'errore potrebbe nascondersi dietro ogni angolo buio.
In entrambi i casi si tratta di intervenire attivamente sul codice, cambiando quello che c'è da cambiare per far funzionare tutto. La mole di interventi, come dicevo all'inizio, dipende da come è scritto il tuo codice.
A me è capitato di migrare progetti in cui ho dovuto risolvere soltanto una manciata di problemi. Oppure situazioni più complesse che mi hanno impegnato giorni e giorni. In un paio di casi estremi è convenuto addirittura riscrivere l'applicazione ex novo 😰
12/10/2022 15:07:11
Proprio ieri ho visto un annuncio di Sailor Land che ha fatto il passaggio: https://www.gdr-online.com/news-gioco.asp?idgioco=6263#33922 ↗
Segnalo al gestore che magari ha alcune dritte sulle difficoltà riscontrate nel passaggio ;)
12/10/2022 16:08:43
Grazie per le dritte! Difatti mi era venuto il dubbio di dover passare prima alla versione 7 e poi alla 8, avevo già dato uno sguardo a quel sito, credo che a questo punto possa essere l'unico riferimento da cui attingere.
Ringrazio ancora per il vostro parere a riguardo, non so se ne verrò a capo data la complessità ma...ci provo XD al massimo ripristino tutto com'era mettendomi l'animo in pace.
13/10/2022 00:28:09
Parlo con il nostro programmatore e cerco di aiutarti ;)
13/10/2022 08:51:03
Grazie! Al momento ho effettuato il passaggio a php 7.3 poiché in php 8 mi restituisce non pochi errori.
13/10/2022 09:36:10
Leggere bene gli errori uno per uno e capire da dove saltano fuori non è un brutto metodo (in genere se cerchi online il testo dell'errore trovi sempre qualcosa).
Comunque, il grosso delle incompatibilità tra le due versioni riguardano cose che probabilmente nelle land non sono usate. Se su php 7.3 la land funziona vuol dire che la modifica più dolorosa (passare da mysql a mysqli) te la sei già lasciata alle spalle.
Una cosa che probabilmente ti sta dando errori è l'uso delle costanti non dichiarate. In PHP le costanti vanno dichiarate come stringhe, quindi racchiuse "tra apici". Prima di PHP 8, se dichiaravi una costante senza racchiuderla tra apici te la faceva passare comunque, mentre ora ti torna errore... quindi magari quel array[pippo] che prima funzionava ora deve essere aggiustato come array["pippo"].
Se hai abilitato i warning, anche accedere a una variabile senza averla dichiarata ti darà errore.
13/10/2022 09:52:17
Sì qualche mese fa ho iniziato a sistemare il codice per svecchiarlo. Grazie per le dritte! :)
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
RAID Shadow Legends: L'incarnazione del male, Loki l'Ingannatore!
Enlisted: Nuovi effetti visivi!
Football Team Soccer → Diventa una stella del calcio! Crea, allena ed equipaggia il tuo giocatore. Unisciti a un club e vinci in Football Team Game!
wall91 si è accreditato come gestore di One Piece Redemption gdr
The Coven: La quest continua...
I dati del generatore di rank sono stati aggiornati!
Legacy of Magic: Festa della cacciata della Perdizione
Football Team Soccer → Diventa una stella del calcio! Crea, allena ed equipaggia il tuo giocatore. Unisciti a un club e vinci in Football Team Game!
Storie di Agarthi: Piccoli ritocchini per enormi Titani
CRSED: F.O.A.D.: Corsa agli zombi!
Il gestore di Le Cronache di Raja Dunia ha risposto alla recensione di derek_ryger
Il gestore di Crystal Tokyo ha risposto alla recensione di aryamoon
Crossout → Tuffati nel mondo di Crossout, il gioco MMO d'azione post apocalittico! Costruisci le tue speciali macchine da combattimento!
La Tana del Ladro: TdL Stories - 🌑 Le Maschere Nere 🌑
dalya ha recensito Le Cronache di Raja Dunia
Age of Crystals: Evento Arrivederci Genithalia, Benvenuto Rhotyx IV
Sea of Conquest → Vivi un'avventura tra i mari! Dal cuore del Mare del Diavolo, un paradiso piratesco brulicante di magia, tesori e avventure, salperai verso l'ignoto!
Calcio e GdR - Calcio e (video)giochi di ruolo: 3 esempi di mashup tra generi
Mutation GdR - Intervista alla gestione del PbC con i mutati urban fantasy Mutation GdR!
Hero Forge - Hero Forge: crea le miniature personalizzate dei tuo personaggi!
Giocare ai GDR - Perché giocare ai GDR è utile? Scopriamolo in questo articolo!
World Tree GDR - Intervista ai gestori del play by chat urban fantasy World Tree GDR
Chronicles of Hogwarts - Intervista al play by forum potteriano Chronicles of Hogwarts!
RAID Shadow Legends - Plasma i tuoi eroi fino a farli diventare vere e proprie armi viventi e assembla i più epici gruppi d'assalto mai visti finora!
Elamshin - Recensione del gdr fantasy L'Impero di Elamshin.. de tenebra anni tempora