mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Lukas G. (lukas88)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jan B. (do9jhb)
Datum:

Bewertung
0 lesenswert
nicht 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)...

Autor: Weingut P. (weinbauer)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Korrektiv (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.).

Autor: T.roll (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Los Defectos (Kaputtnik) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: TestX (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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...

Autor: Lukas G. (lukas88)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Jan B. (do9jhb)
Datum:

Bewertung
0 lesenswert
nicht 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...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.