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
Il gestore di Il Grande Blu ha risposto alla recensione di spike92
Felix Felicis GdR - Harry Potter GdR: La Resistenza?
CRSED: F.O.A.D. → Brutale sparatutto MMO in cui vince l'ultimo giocatore che resta in vita nell'arena! Ogni giocatore sarà accompagnato da armi realistiche e magie!
venus dormiens ha aperto un annuncio di ricerca: Origo Haeredis - Harry Potter Gdr ricerca Giocatore
Metin2: Server Boost Yohara – Dettagli e FAQ
Sea of Conquest: Ci dai una mano ai #PocketGamer Awards 2024?
goldaries ha recensito Games of Thrones Winter is Coming
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
spike92 ha recensito Il Grande Blu
World of Warship: Aggiornamento 13.11: anteprima
gdr-online.com ha risposto alla discussione: Parere su BrowserGame
W40K Dathyar: Specializzazioni
DarkOrbit → Galassie remote e pericoli in agguato ti attendono. Vinci battaglie avvincenti in DarkOrbit: diventa un cosmonauta temerario e combatti!
NosTale: Ora nel NosMall: dolcissimi mini-pet
DarkOrbit: Aggiorna la scatola dell'Apocalisse!
I dati del generatore di rank sono stati aggiornati!
aik ha aperto una nuova discussione: Parere su BrowserGame
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
Roma I Triumviri - Intervista ai creatori di Roma i Triumviri, il play by chat sull'Antica Roma!
Lulu.com - Stampa il manuale del tuo GdR in formato cartaceo con ISBN incluso!
Film Sci-Fi - I dieci film fantascientifici imperdibili per chi vuole iniziare a giocare di ruolo!
Gestori GDR - Dieci dritte per il buon gestore di gioco di ruolo online!
Riciclaggio nei Giochi - La nuova frontiera del riciclaggio di denaro sporco nei giochi online
Romanzi Tolkien - In che ordine leggere i romanzi del maestro Tolkien? Scopriamolo!