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
Lineage II: Sblocca il tesoro del drago!
Enlisted: Cambiamento del software anti-cheat
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Le Cronache di Alderon: Record demografico a Alderon
I dati del generatore di rank sono stati aggiornati!
can_can ha risposto alla discussione: Peregrine GDR
staffsc ha aperto un annuncio di ricerca: Sun City ricerca Beta Tester
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Il gestore di Le Cronache di Alderon ha risposto alla recensione di darkblade
Saint or Sinner?: fine beta test!
Planethos GdR: Casati disponibili
Blood is the new Black: Club scolastici
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
fooso ha recensito Le Cronache di Alderon
Immortals Revenge: Quattro nuovissimi mount!
Enlisted: Manutenzione del negozio
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Dati Demografici - Analizziamo assieme i Dati Demografici dei Giocatori di Ruolo Online grazie a Google Analytics
Amazing 40s - Intervista alla gestrice di Amazing 40s il play by chat ambientato negli anni 40!
Lucca C&G 2019 - Le dieci cose che ci sono piaciute della splendida edizione 2019 di Lucca Comics and Games!
Naruto World - Intervista ad Arus admin di Naruto World..primo gdr con questa ambientazione
PbC epidemia del web? - Gioco di Ruolo testuale (gdr by chat): un fenomeno squisitamente nostrano, o epidemia del Word Wide Web?
Regno delle Due Sicilie - Recensione del GDR storico del Regno delle due Sicilie.