Mein Website-Hoster nötigte mich mal wieder, die PHP-Version zu wechseln, indem er ankündigte, sonst in Zukunft eine Support-Gebühr zu berechnen.
Also stellte ich auf die neueste Version um. Als ich meine Skripte überprüfte, schienen die alle zu funktionieren (abgesehen von ein paar Unicode-Konvertierungen), bis ich auf eine kleine Datenbank-Anwendung stieß, die eine Fehlermeldung brachte, dass die Funktion, die ich zur Datenbank-Anbindung aufrufe, unbekannt sei.
Also bemühte ich Google, und fand auch schnell eine Lösung, so dass ich die Datenbank öffnen konnte.
Als nächstes funktionierten die Abfragen nicht. Auch hier half eine kurze Google-Recherche, um zu finden, dass sich der Funktionsaufruf um einen einzigen Buchstaben unterschied (was zwar lästig, aber dank Replace-All kein größeres Problem darstellt), außerdem aber die Argumente vertauscht waren. Und so etwas ist absolut ärgerlich! Ich musste jetzt bei jedem einzelnen Aufruf die Parameter händisch per Copy’n’Paste vertauschen. Das kostet Zeit und ist fehlerträchtig.
Warum macht man so etwas als Entwickler von PHP? Es muss doch jedem klar sein, dass solche Änderungen nicht rückwärtskompatibel sind, und enormen Änderungsaufwand in den Skripten verursachen. Dabei habe ich hier nur ein ganz kleines Progrämmchen, das Datenbanken benutzt. Wer da größere Webanwendungen betreut, schaut erst recht in die Röhre.
Noch mehr Probleme sind bei der Umstellung aufgetreten. Und das nennen die „improved“!
Immerhin konnte ich alle (sofern ich keines übersehen habe) Probleme lösen, wenngleich mich das einige Zeit gekostet hat. Und diesmal war wenigstens keine php.ini-Friemelei nötig – hab‘ ich schon erwähnt, dass ich PHP nicht mag?
Hmm, wenn du mal die Zeit hast würde ich von mysqli auf PDO umstellen – hätte auch den Vorteil, dass du die dahinter liegende Datenbank wesentlich bequemer wechseln könntest.
LikeLike
Ach, ich weiß nicht, ob sich das lohnt.
Es handelt sich wirklich nur um eine winzigkleine Datenbankanwendung, die eher Demonstrationszwecken dient.
Ich will da eigentlich keine Zeit mehr reinstecken.
LikeLike
Warum ist die Seite bzw. die Datenbankanwendung dann überhaupt in PHP geschrieben? Ist ja nicht so, dass man sowas nicht auch als cgi/perl-script realisieren könnte…
LikeLike
Weil mein Hoster hier nur LAMP anbietet.
Und meine Wunschalternative wäre entweder WISA mit IIS/ASP (für einfache Sachen, hier also locker ausreichend), oder ein selbstgeschriebener Webserver für komplexere Webdienste – aber ganz bestimmt kein Perl.
LikeLike
Haha, genau, IIS – das ist so ziemlich das beste Oxymoron, was es gibt: „Windows Server“ – absolut lachhaft!
Was hast Du gegen Perl? Die Leute, die ich kenne, die Programmieren können, finden es zumindest um ein Vielfaches besser, als PHP. Auch und gerade für Webanwendungen. Aber gut, das sind auch alles Leute, die sich mit Computern wirklich auskennen (d.h. freiwillig niemals auf die Idee kämen, Windows zu benutzen). Naja, Du kannst meinetwegen auch verteiltes Echtzeit-Java nutzen (das ist fast so ein gutes Oxymoron wie das oben genannte, nur mit drei Widersprüchen in einem) ;o)
LikeLike
Mit dem IIS habe ich gute Erfahrungen gemacht.
Perl ist OK, wenn man viel mit regulären Ausdrücken hantiert. Ansonsten eher Finger weg.
LikeLike
Genau wegen solchem Mist kapsle ich alle nativen php Funktionen weg. Selbst die simpelsten Dinge wie z.b. str_replace werden ausschließlich über meine Funktion (ra_str_replace) aufgerufen. Falls also mal was doofes passieren sollte, muss ich nur meine eine Schnittstellen-datei ändern und ich hab Ruhe.
Ist zwar erstmal ein großer Aufwand, aber wenn man es einmal hat, kann man es immer wieder verwenden.
Noch besser wären natürlich Frameworks, die schießen bei kleinen Sachen die mal schnell gehen müssen aber gerne auch mal übers Ziel hinaus.
LikeLike
Normalerweise programmiere ich ja nicht mit PHP, nur nolens volens die paar Webseiten.
Für die rentiert es sich nicht, da großartige Refaktorierungen durchzuführen.
Ansonsten halte ich es schon genauso wie du, und kapsele meine Funktionen und Klassen so, dass ich sie möglichst flexibel wiederverwenden kann.
LikeLike
Mit welcher Uralt-Version hast du denn bisher gearbeitet, dass du solcherlei Umstellungsprobleme mit PHP hast? Und welche nutzt du jetzt?
LikeLike
Bisher hatte ich 5.4, jetzt zwangsweise auf 7.0 upgegradet.
OT: Hast du meine Mail am Montag gekriegt? Ich hatte da Probleme mit meinem Client, und bin mir nicht ganz sicher, ob die wirklich raus ist.
LikeLike
Ok,
aber dass es zwischen 7.0 und 5.4 in bestimmten Dingen keine rückwärtskompatibilität gibt, wurde angekündigt. Dazwischen gab es ja noch 5.6, mit der hättest du das testen können …
LikeLike
Hätte, wäre, könnte, .. ich hab‘ echt keine Lust, bei jeder Versionsänderung alles durchzuchecken.
Und die Ankündigung hatte ich nicht mitgekriegt, kann mich schließlich nicht um alles kümmern.
LikeLike
Angekommen, danke sehr.
LikeLike
Zwangsupgrade auf 7.0 find ich zum jetzigen Zeitpunkt noch sehr mutig…
LikeLike
Es gab wohl noch eine Zwischenversion (5.6 ?), aber wenn ich schon wechseln muss, dann auf 7.0 – in der Hoffnung, dass es jetzt wieder eine Weile anhält.
LikeLike
Pingback: Dreizehnhunderteinundachtzig | breakpoint
Pingback: Vortragsreise, Teil 2 //2027 | breakpoint
Pingback: Wieder Ärger mit PHP //2675 | breakpoint