Forum: PC-Programmierung Migration von PHP 5.3 zu PHP 7.3


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Lukas G. (lukas88)


Lesenswert?

Hallo zusammen,

Mein Hosting Anbieter stellt bei  PHP die Version 7.3 auf Anfang Juni 
um. Momentan laufen meine Applikationen noch auf der Version 5.3 auf der 
7er Version stürzt die ganze Website ab...

Meine Frage nun: Wie kriege ich nun die Änderungen auf 7.3 am Schlausten 
hin, ohne das ich die gesamten Quellcodes selbst durchsuchen und 
anpassen muss? Ich weis, das es Debugger gibt, leider hab ich mich damit 
noch nicht ernsthaft beschäftigt, da ich meine Applikationen bis Jetzt 
quasi mit dem Browser Debuggt habe (Mit Kontrollvariablen) Mittlerweise 
ist die Applikation auf Verschiedene Files verteilt, und jede File hat 
zwischen 1000-5000 Zeilen.

Natürlich könnte ich bein Hosting die Versio 5.3 einfach eingestellt 
lassen,aber irgendwann MUSS ich Migrieren, da es die 5.3 ja nicht ewig 
unterstützt wird.

von Jan B. (do9jhb)


Lesenswert?

Lukas G. schrieb:
> Wie kriege ich nun die Änderungen auf 7.3 am Schlausten hin, ohne das
> ich die gesamten Quellcodes selbst durchsuchen und anpassen muss?

Je nachdem was für Funktionen du in deinem alten Code benutzt hast, 
wirst du nicht drum rumkommen, vieles händisch zu ändern, bzw. vieles 
neu zu schreiben, da seit 5.3 viele Funktionen entfernt wurden (weil sie 
Sicherheitsrisiken waren).

Du solltest dir die Migrationsguides für jede Version, seit 5.3 
anschauen, und sehen was für nicht abwärtskompatibel Änderungen es gab. 
In der PHP.ini kannst du die Anzeige von Meldungen in der Browserausgabe 
aktivieren, am besten mit allen Leveln. Dann schaust du wo die Probleme 
liegen und behebst sie.

Du solltest dir dringend XDebug anschauen, das vereinfacht die 
Entwicklung enorm. Die ideal Kombinationen zur PHP Entwicklung ist 
heutzutage PHPstorm als IDE (die Vorabversion bekommt man kostenlos auf 
der Jetbrains Seite), XDebug, und Composer, als Packetverwaltung und 
autoloader...

Du solltest aber überlegen ob du den Code tatsächlich logieren willst. 
Je nachdem, was für ehemalige Features du benutzt hast, könnte es 
weitaus einfacher sein, das ganze komplett neu zu schreiben, auf Basis 
eines modernen Frameworks wie Symfony oder Lavarel (das dürfte auch die 
Übersichtlichkeit und Codequalität erhöhen, Dateien mit 5000 Zeilen sind 
nicht wirklich übersichtlich und wartbar)...

von Weingut P. (weinbauer)


Lesenswert?

Das kommt auf Dein Code an ... hatte früher auch >5000 Zeilen Codes, hab 
die aber nach und nach zerpflückt in Funktionsblöcke, besonders 
wiederverwendete Teile eignen sich dazu gut, und setze diese Blöcke nur 
noch per Include zusammen ...

Dann muss man nur 2-3 Blöcke ändern zur Migration

von Korrektiv (Gast)


Lesenswert?

Jan B. schrieb:
> könnte es
> weitaus einfacher sein, das ganze komplett neu zu schreiben, auf Basis
> eines modernen Frameworks wie Symfony oder Lavarel (das dürfte auch die
> Übersichtlichkeit und Codequalität erhöhen

Derartig umfangreiche Frameworks wie Symfony lernt man aber nicht mal 
eben nebenbei - das kann selbst bei erfahrenen PHP Programmieren mehrere 
Wochen bis Monate dauern, sofern man nicht nur an der Oberfläche kratzen 
möchte. Die Form der Lernkurve hängt sowohl von der bisherigen Erfahrung 
mit anderen Frameworks als auch von dessen Grad der Ähnlichkeit zu 
Symfony ab. Allein das ORM kann je nach Vorwissen und Komplexität der 
benötigten Abfragen schon ein ziemlicher Brocken sein.

PHPStorm würde ich aber auch auf jeden Fall empfehlen, die Software ist 
ihr Geld und die Einarbeitungszeit definitiv wert. Dann am besten auch 
gleich Git nutzen, das hat mir auch bei Einzelprojekten extrem geholfen 
den Überblick zu behalten...aber auch da geht als Anfänger nochmal 
ordentlich Zeit drauf, bis man alle Bereiche wirklich spielend 
beherrscht (Branching, Merging, Konflikte, etc.).

von T.roll (Gast)


Lesenswert?

Lukas G. schrieb:
> Natürlich könnte ich bein Hosting die Versio 5.3 einfach eingestellt
> lassen,aber irgendwann MUSS ich Migrieren, da es die 5.3 ja nicht ewig
> unterstützt wird.

Scherzkeks. PHP 5.3 ist bereits seid 4½ Jahren! EOL. Dass dein Anbieter 
das immer noch bereit stellt(e), spricht Bände.

Lukas G. schrieb:
> Meine Frage nun: Wie kriege ich nun die Änderungen auf 7.3 am Schlausten
> hin, ohne das ich die gesamten Quellcodes selbst durchsuchen und
> anpassen muss?

Dir wird nichts anderes übrig bleiben, als alles durchzugehen. Immerhin 
liegen zwischen 5.3 und 7.3 mehr als 6 Versionen mit vielen, vielen 
Änderungen.

von Los Defectos (Kaputtnik) (Gast)


Lesenswert?

> Migration von PHP 5.3 zu PHP 7.3

Nein!!

Es genügt, wenn in sämtlichen Nachrichtenkanälen dieses Wort bis zum 
Exzeß benutzt wird!

von TestX (Gast)


Lesenswert?

@to

schau dir doch einfach mal das errorlog an...wahrscheinlich sind es  nur 
einige kleinigkeiten die geändert werden müssen.

sollte dein code allerdings eher php4 statt php5 entsprechen hast du ein 
größeres problem...

von Lukas G. (lukas88)


Lesenswert?

XDebug gibt es leider (soweit ich das gesehen habe)  nur für Windows ( 
Ich arbeite mit Linux). Neu schreiben kommt nicht in Frage, da ich an 
der Applikation über 1 Jahr Entwickelt habe.

Die genannten Frameworks sind leider nichts für den Moment. Wie schon 
erwähnt dauert die Einarbeitung relativ lange, und da ich PHP relativ 
gut beherrsche  ( bis auf die Versionswechsel ;) , sehe ich keinen Grund 
(ausser aus Zeitgründen) auf eine Framework zurückzugreifen.

Da ich Hauptsächlich Geany als IDE verwende, und damit auch sehr 
zufrieden bin, ist PHPStrom für mich nicht Relevant. Eher Atom oder 
Visual Studio Code, die gefallen mir aber vom Handling her nicht.

Und so komme ich wohl nicht darum herum, den Code stück für stück zu 
testen, und anzupassen.


Trotzdem, danke für die Hilfe...

von Jan B. (do9jhb)


Lesenswert?

Lukas G. schrieb:
> XDebug gibt es leider (soweit ich das gesehen habe)  nur für Windows (
> Ich arbeite mit Linux).

XDebug gibt es auch für Linux, man muss es da nur über den Paketmanager 
installieren (deswegen gibt es auf der Homepage...

Lukas G. schrieb:
> Wie schon erwähnt dauert die Einarbeitung relativ lange, und da ich PHP
> relativ gut beherrsche  ( bis auf die Versionswechsel ;)

IMHO haben diese Versionswechsel aber sehr drastische Änderungen an PHP 
Vorgenommen, so dass man fast schon von einer neuen Sprache sprechen 
kann. Wenn man ein PHP 5.3 Projekt mit einer modernen PHP Application 
Vergleicht, wird man da kaum Ähnlichkeiten finden...

von Lukas G. (lukas88)


Lesenswert?

Hallo nochmals...

Ich habe mein Migrationsproblem mittlerweile lösen können.

Musste nur meine SQL Verbindungen abändern, dann funktionierte die 
Applikation wieder. Trotzdem habe ich mir jetzt ein Buch über PHP 7 
gekauft, um mich über die Änderungen zu Informieren. Mein Letztes 
Lehrbuch verwendete noch 4.1 : ))

Vielen dank für euer Unterstützung...

von Aufseher im Informatikergulag (Gast)


Lesenswert?

Lukas G. schrieb:
> Musste nur meine SQL Verbindungen abändern, dann funktionierte die
> Applikation wieder. Trotzdem habe ich mir jetzt ein Buch über PHP 7
> gekauft, um mich über die Änderungen zu Informieren. Mein Letztes
> Lehrbuch verwendete noch 4.1 : ))
Da hätte auch die Doku von php gereicht, da sind die Änderungen zu jeder 
Version penibel aufgelistet.

von Keks (Gast)


Lesenswert?

T.roll schrieb:
> Scherzkeks. PHP 5.3 ist bereits seid 4½ Jahren! EOL. Dass dein Anbieter
> das immer noch bereit stellt(e), spricht Bände.

Dein Kommtar spricht noch größere Bände. Nämlich daß Du keinerlei Ahnung 
hast. Es gibt Enterprise Linux Distros die auch noch heute mit PHP5 
ausgeliefert werden. Und ja, diese Versionen werden gepflegt und sind 
sicher.

Aber das ist ja jenseits von Deinem Horizont; Hauptsache Du hast 
irgendwelchen Schwachsinn abgelassen.

von (prx) A. K. (prx)


Lesenswert?

T.roll schrieb:
> Scherzkeks. PHP 5.3 ist bereits seid 4½ Jahren! EOL. Dass dein Anbieter
> das immer noch bereit stellt(e), spricht Bände.

Red Hat Enterprise Linux (Suse/SLES vmtl ähnlich) friert die Versionen 
der mitgelieferten Komponenten über einen Zeitraum von 10 Jahren ein. 
Wichtige Updates gibts unabhängig vom offiziellen Support des Produkts 
ggf als Backports durch Red Hat. Dadurch reduziert sich seitens des 
Kunden der Pflegeaufwand langfristig produktiver Server erheblich, weil 
sich das Verhalten der Komponenten nicht ändert.

Red Hat 6 => PHP 5.3 bis 2020.
Red Hat 7 => PHP 5.4 bis 2024.

Neuere Versionen sind parallel installierbar, der Support ist dann aber 
kurzlebiger (7.2 bis Herbst 2020).

Update-Druck kann natürlich durch andere Software kommen. So meldet 
Wordpress seit Frühjahr, dass man 5.4 endlich mal updaten sollte.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.