WernerK: Alte PHP Anwendung auf neuem Server , mssql Funktionen

Hallo,

ich stehe vor folgender Aufgabe: Eine alte PHP Anwendung aus dem Jahr 2002 mit altem SQL Server 2000 soll auf einen neuen Server 2012 mit neuem IIS umgezogen werden. Und natürlich neuem PHP.

Nach grober Durchsicht der alten PHP Dateien sehe ich dass hier für die Datenbank z.b. mssql_pconnect, mssql_query, mssql_select_db usw. verwendet wurde.

Das ist unter PHP 7 ja nicht mehr verfügbar. Jetzt stellt sich mir generell die Frage: Soll man besser PHP 7 auf dem Server installieren. Dann muss man aber an tausend Stellen im Code die alten mssql Funktionen auf z.b. PDO umstellen.

Oder könnte man auch noch die letzte PHP 5 Version installieren und hoffen dass dann das meiste läuft? Wie zukunftträchtig ist denn eigentlich PHP 5?

vielen Dank für jeden Vorschlag.

Gruss

Werner

  1. Hallo

    Oder könnte man auch noch die letzte PHP 5 Version installieren und hoffen dass dann das meiste läuft? Wie zukunftträchtig ist denn eigentlich PHP 5?

    PHP5 ist quasi tot. Der letzte Zweig, PHP5.6, erhält noch Sucherheitspatches. Das war's. Du kannst zwar auf PHP5.6 setzen, bist dann aber von neuen Features, von Sicherheitspatches und von Performanceverbesserungen, die neue PHP-Versionen mitbringen, abgeschnitten. Das Argument, erst einmal mit PHP5.6 anzufangen und später auf PHP7 umzustellen, zählt meiner Meinung nach nicht, denn nichts ist so beständig wie ein Provisorium.

    Mache dir jetzt einmal die Arbeit, die Skripte an die jetzt aktuelle PHP-Version anzupassen. Du wirst dir später, wenn tatsächlich wieder Änderungen anstehen, viel Arbeit ersparen.

    Tschö, Auge

    --
    Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
    Toller Dampf voraus von Terry Pratchett
    1. Hallo Auge,

      danke dir erstmal. Welche Inkompatibilitäten sind denn noch zu erwarten? Ich denke alle alten $HTTP_ Variablen funktionieren nicht mehr. Ich vermute die Anwendung wurde noch mit PHP 4 entwickelt. Gibt es eine Übersicht was hier alles nicht mehr funktioniert zu PHP 7 oder müsste man von Release zu Release durchschauen?

      viele Grüße

      Werner

      1. Hallo

        Welche Inkompatibilitäten sind denn noch zu erwarten?

        Ich denke alle alten $HTTP_ Variablen funktionieren nicht mehr.

        Ich bin nicht mal sicher, dass die noch mit PHP5.irgendwas funktionieren.

        Gibt es eine Übersicht was hier alles nicht mehr funktioniert zu PHP 7 oder müsste man von Release zu Release durchschauen?

        Ich kenne keine solche Übersicht. Zudem ist mMn fraglich, ob es eine solche Übersicht speziell für den Riesenschritt von 4.x zu 7.x gibt. Vermutlich musst du schon eine Übersicht „4.x zu 5“ und eine weitere Übersicht „5.x zu 7“ bemühen.

        Wobei mir meine Erinnerung sagt, dass ich bis auf die Umstellung von $_HTTP_* zu $_GET, $_POST u.s.w. beim Umstieg von PHP4 auf PHP5 keine weiteren Änderungen vornehmen musste. Wobei ich den Schritt in den meisten Skripten schon innerhalb 4.x gegangen bin. Die Erinnerung mag aber auch trügen und meine Skripte haben natürlich auch nicht alle Möglichkeiten der damaligen PHP-Versionen genutzt, so dass ich bestimmten Umstellungsnotwendigkeiten durchaus entgangen sein werde.

        Tschö, Auge

        --
        Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
        Toller Dampf voraus von Terry Pratchett
      2. Tach!

        Welche Inkompatibilitäten sind denn noch zu erwarten?

        Zwischen PHP4 und 5 (oder im Verlaufe von 5) wurden eine Menge wenig sinnvolle Sicherheitsmaßnahmen entfernt, allem voran Magic Quotes. Wenn man sich auf diesen Mechanismus verlassen hat, muss man nun zwangsläufig die komplette Anwendung durchgehen, um Programmierfehler zu finden, die auf nicht beachtetem Kontextwechsel beruhen.

        Wenn die Anwendung damals schon die Magic Quotes ausgeschaltet und selbst auf korrekte Programmierung (sprich hier: Escaping) geachtet hat, dann sind eventuell die veralteten Funktionen zu entfernen, die man für die Deaktivierung der Magic Quotes benötigte, und die nicht mehr existieren.

        Ansonsten können natürlich auch andere Dinge enthalten sein, die problematisch sind, aber es damals auch schon waren und nicht von den M.Q. abgedeckt wurden.

        Gibt es eine Übersicht was hier alles nicht mehr funktioniert zu PHP 7 oder müsste man von Release zu Release durchschauen?

        Offiziell gibt es nur Auflistungen für die Sprünge bei Minor-Versionen, also beispielsweise von 5.1 zu 5.2. Wenn du also von 4.filzlatsch auf 7.aktuell gehen möchtest, musst du theoretisch alle Versionen zwischen 4.filtzlatsch und 4.letzte anschauen und dann mit 4.letzte zu 5.0 sowie 5.0 hoch bis 5.6 und weiter mit 7.0 bis 7.aktuell durchschauen. Im PHP-Handbuch ist aber der älteste Migrationsschritt nur noch als generell PHP 4 nach 5.0 enthalten.

        Ich denke, es ist einfacher, die Anwendung komplett durchzugehen und mit aktuellen Augen anzuschauen, statt die Themen der Migrationslisten Punkt für Punkt in der Anwendung zu suchen.

        dedlfix.