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
I dati del generatore di rank sono stati aggiornati!
cakendish ha recensito La Tana del Ladro
World of Warship → MMO gratuito con frenetiche battaglie navali ambientate nel ventesimo secolo. Salpa con la tua nave ed affronta i nemici!
Legacy of Magic: La Festa dei Colori e delle Maschere
deanna ha recensito Star Trek Horizon
World of Warship: Arruolare Steam-chan
Lineage II: Promozione della scatola della maschera benedetta
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!
herhorn ha recensito La Tana del Ladro
La Tana del Ladro: TdL Stories - Non c'è piu nessuno...
Il genere Fantasy raggiunge i 2.200 giochi catalogati!
Star Wars Forum: 20 Anni di Star Wars Forum
Ikariam → Su una piccola isola, in qualche parte del Mediterraneo, sorge un`antica civiltà. Sotto la tua guida inizia un`era di ricchezza e di scoperte!
Left To Survive: Danny la Vipera 🧪 disponibile!
flying mustache ha recensito La Tana del Ladro
New Hill Gdr: Novità in scheda personaggi
Ikariam → Su una piccola isola, in qualche parte del Mediterraneo, sorge un`antica civiltà. Sotto la tua guida inizia un`era di ricchezza e di scoperte!
Nimenia - Leggi la nostra recensione di Nimenia... gdr fantasy..
Tempora Sanguinis - Intervista con Dryden sull'andamento dello sviluppo del nuovo MUD Tempora Sanguinis 3
Articoli - Leggi gli articoli proposti da GDR-online.com su tanti argomenti utile ai giocatori di ruolo
Armi ed Armature - Interessante tesi su armi e armature nella poesia militare anglosassone
Shydra - Shydra, gioco di ruolo in stile Dungeons and Dragons presentato da Silu
Fine Avventura? - Guida per Dungeon Master: Quando l’avventura muore di inedia?
Twitch e GdR - La rinascita del GdR passa da Twitch? Scopriamo assieme le ultime tendenze!
Punteggiatura - Consigli utili su come utilizzare correttamente la punteggiaura in un Gdr-online