• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP 7.0.33 updaten

joergi

Mitglied
Hi,
auf meinem Server laufen diverse PHP scripte, welche ich über die Jahre programmiert habe, einwandfrei. Nun gab mir mein Provider zu verstehen, dass diese Version in absehbarer Zeit abgeschaltet wird. Daher sollte ich hier möglichst die Version 8.0.30 oder 8.3.1 auswählen. Ich habe die PHP Version auch gestern Abend probeweise auch einmal kurz geändert. Dabei schienen einige Programme nicht zu laufen. Welche Fehler es waren weiß ich nicht, da ich "Display_Errors" erst einmal ausgeschaltet habe. Nach wenigen Minuten habe ich die ursprüngliche Version wieder zurückgestellt.

Laut Internet, soll es verschiedene Programme geben, die einen Script auf Kompatibilität prüfen können d.h., ob z.B. ein Script auch in der neuesten PHP Version läuft. Ist das korrekt?

Ein solches Programm soll Codesniffer mit PHPCompatibility-Regelsatz sein. Hat Jemand schon einmal Erfahrung damit gemacht? Ich benötige nur eine Info, ob z.B. bestimmte Befehle nicht mehr existieren oder andereweitig umgeschrieben werden müssen.

Vielen Dank im voraus für Eure Hilfe
 
Werbung:
auf meinem Server laufen diverse PHP scripte, welche ich über die Jahre programmiert habe, einwandfrei. Nun gab mir mein Provider zu verstehen, dass diese Version in absehbarer Zeit abgeschaltet wird.
Da wird es aber allerhöchste Zeit, PHP 7.0 wird bereits seit 5,5 Jahren nicht mehr unterstützt!
Daher sollte ich hier möglichst die Version 8.0.30 oder 8.3.1 auswählen.
8.0 wird auch schon nicht mehr unterstützt, verwende mindestens 8.1.
Ich habe die PHP Version auch gestern Abend probeweise auch einmal kurz geändert. Dabei schienen einige Programme nicht zu laufen. Welche Fehler es waren weiß ich nicht, da ich "Display_Errors" erst einmal ausgeschaltet habe.
Dann schau ins Errorlog, dort sollten die Fehler trotzdem erscheinen auch wenn du sie dir nicht hast anzeigen lassen.

Damit solltest du recht schnell herausbekommen welche Funktionen nicht mehr unterstützt werden - es mag auch entsprechende Tools für sowas geben, solche habe ich aber noch nie verwendet.
 
Hallo joergi,

wenn Du darüber mehr erfahren willst, als Dir lieb ist, schau in die Anhänge vom PHP Handbuch. Da steht für jede einzelne Version, welche Breaking Changes vorgenommen wurden.

Auf dem Weg vom zusammengehackten Spielzeug der 90er Jahre zur ernstzunehmenden Programmiersprache sind das leider einige. Pro Versionsschritt werden einige Altlasten abgeräumt.

Wenn Du nicht weißt, wo der Errorlog zu finden ist, schau in die PHP.INI Datei, da steht drin, wo die Datei ist.

Rolf
 
Werbung:
...
Auf dem Weg vom zusammengehackten Spielzeug der 90er Jahre zur ernstzunehmenden Programmiersprache sind das leider einige. Pro Versionsschritt werden einige Altlasten abgeräumt.
...
Ich widerspreche vehement. Nicht die Programmiersprache macht den Code, sondern der Programmierer.

Man hat verabsäumt, so simple Funktionen wie utf8en(de)code etc problemlos ersetzbar zu machen, wieso z.B das Stilllegen dieser Funktionen PHP zu einer ernstzunehmenden Programmiersprache machen sollte, erschliesst sich mir nicht. Die angebotenen Alternativen sind alles andere als problemlos kompatibel, und führen nur zu Spielzeugcode in Form von Wrappern statt z.B. nachladbarer Extensions.
Mit der Abschaffung der mysql Extension und der Vernichtung hunderttausender laufender Scripts hat man bitte Was erreicht? Professionalität? Eher das Gegenteil, Leute mit eigenen Servern fahren noch immer mit PHP 7 und weniger um ihren laufenden Code nicht zu verlieren.

PHP hat schon immer die Möglichkeit geboten professionellen Code zu bauen, wie sonst hätte man ein html.de betreiben können in dem tausende Posts abgelegt wurden?

Ich denke, man hat sich da eher selbst eine Grube gegraben, wer ernstzunehmenden Code schreiben möchte, fuddelt seine Scripts nicht lauffähig, indem er Wrapper schreibt, damit er seinen gesamten Code nicht neu coden muss, bei mir selbst sind es über 70.000 Codezeilen, die ich anpassen müsste, nein,

function NULL_BOCK()

Ich habe meine kostenlosen Scripts ganz bewusst einfach gehalten, damit jeder sie nach belieben und seinen Bedürfnissen anpassen kann, auch wenn man selbst kein Profi ist. Das ist nun alles passee!
Und nur um das einmal zu erwähnen, es gab schon unter PHP 4 und 5 durchaus sehr professionellen Code, der durch die Upgradepolitik nun nicht mehr zur Verfügung steht, weil er unwartbar geworden ist und es nun besser ist ihn komplett neu zu schreiben und dann steigt man besser auf eine andere Programmiersprache um, die einfach besser, schneller und vor allem upgradeable ist, ohne die Lauffähigkeit der alten Scripts zu verlieren..

Ich selbst habe den Support für meine PHP Scripts eingestellt und portiere nun alles auf Python, da erlebt man solche sinnfreien Überraschungen, dass plötzlich Funktionen in Massen abgeschafft wurden nicht, man fummelt sich nicht mal eben einen Wrapper zusammen, damit Scripts wieder laufen und man kann Upgraden, ohne Angst haben zu müssen, dass dann irgend etwas nicht geht und vor allem muss man keine Kunstgriffe machen und dutzende/hunderte Stunden investieren um ehemals sehr guten Code, der Jahre seinen Dienst getan hat wieder neu zu erfinden.

Ich habe deshalb PHP den Rücken gekehrt.
 
Zuletzt bearbeitet:
Hallo Sysop,

ich sage ja nicht, dass ich diese Praxis toll finde. Ich habe vor etlichen Jahren auch so eine Hürde überwinden müssen (und da war ich noch ein ziemlicher PHP Noob). Dass die Qualität von Code hauptsächlich am Programmierer hängt - Amen. Genau deswegen findet man ja auch professionellen PHP Code aus allen Versionen. Aber eben auch eine Menge Mist, zu dem einen die Sprache verleitet.

PHP hat etliche Quirks und Sicherheitslöcher gehabt, die man nicht einfach so stehen lassen konnte. register_globals war so ein Hammer, und die MYSQL-Schnittstelle ließ sich nicht fixen, ohne inkompatibel zu werden. Zu den beiden utf8-Funktionen kann ich wenig sagen, aber die Doku legt nahe, dass eigentlich keiner ISO-8859-1 verwendet und die Funktionen deshalb für fast jeden unerwartete Ergebnisse liefern. Deswegen sollen sie wohl 'raus.

Dass Dir das auf den Keks geht, kann ich verstehen. Ich verwende PHP auch nur hobbymäßig, meine Brötchen verdiene ich mit C#.

Rolf
 
Werbung:
Hi,
eine der Stärken von PHP war eben die, dass auch Anfänger sich etwas zusammencoden oder zumindest anpassen konnten ohne gleich ein Studium zu brauchen. Das hat PHP ganz alleine kaputt gemacht.

Und nein, die mysql-Extension hätte man reparieren können und zwar ohne grossen Aufwand. Ich habe mir selbst einen wrapper geschrieben, der die alten Funktionen einfach auf die mysqli-Funktionen verbiegt, das hat mich 2-3 Stunden gekostet und ich musste genau nichts an den Scripts ändern, die PHP Entwickler hätten das sicher schneller und besser gemacht als ich. Oder ich formuliere es mal anders, hätte man nicht Seitens der Entwickler einen Wrapper beilegen können, der den Umstieg einfacher macht?

Was die Quirks Sicherheitslöcher angeht, auch da hätte man nicht wirklich die Lauffähigkeit alter Scripts ausser Kraft setzen müssen.
 
Ich kann dem nur zustimmen. Vor einigen Jahren musste ich meine Scripte, die unter php 5.x. liefen so ändern, dass diese unter php 7.x lauffähig waren. Nun muss ich die scripte wieder ändern, damit diese unter php 8.x laufen.

Ich habe nämlich von meinem Provider mitgeteilt bekommen, dass die php Version 7.0.33 demnächst deaktiviert würde. Zur Auswahl stünden dann PHP 7.4 und 8.3. Ich habe alle scripte erst einmal schnell 7.4 compatibel gemacht. Jetzt erfolgt die Umgestaltung auf 8.3. Und das ist wirklich nicht einfach. Aber warum einfach wenn es auch kompliziert geht ....
 
Werbung:
Ich hatte zuerst versucht, die scripte auf 8.3 umzustellen. Aber dabei gab es zu viele Fehlermeldungen (Fatal Error). Und die Zeit drängte. Daher habe ich mich für den Weg entschieden, diese erst mal schnell 7.4 kompatibel zu machen, was relativ einfach war. Aber 8.3 ist teilweise echt eine Herausforderung.....
 
eine der Stärken von PHP war eben die, dass auch Anfänger sich etwas zusammencoden oder zumindest anpassen konnten
Genau, und genau deshalb gibt es immer noch Scripte, die man besser löschen sollte. Das ist für mich keine Stärke, sondern eine Schwäche.

Wenn man nicht regelmäßig seine Scripte prüft und aktualisiert, laufen die Scripte irgendwann nicht mehr.

Man kann nicht ewig abwärtskompatibel bleiben, manchmal muss man einfach einen harten Schnitt machen. Das ist nicht nur bei PHP so, das hast du mit Frameworks häufiger. Ich kenne das von Qt, wenn ein Major-Release-Wechsel ansteht, bedeutet das immer eine Menge Arbeit.
 
Hi, ich habe exakt das gleiche Problem. Sehr viele Scripte (php und MYSQL) über die Jahre programmiert und nach PHP-Umstellung läuft fast nichts mehr. Habe dann die betreffenden Projekt-Ordner auf dem Server per .htaccess-Datei auf php 7.4 gesetzt.

Code:
AddHandler x-httpd-opcache-php7.4 .php

Für mehr war leider noch keine Zeit ...

Vielleicht per KI umschreiben lassen? :-)

https://snyk.io/de/code-checker/php/

Was ist von solchen Tools zu halten? Hat es schon jemand getestet?

Viele Grüße, Osci1
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben