Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zum Wechsel von PHP 5.3 auf PHP 7

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zum Wechsel von PHP 5.3 auf PHP 7

    Hallo,

    es handelt sich hier um ein etwas schwerwiegenderes Problem das ich habe.
    Und zwar arbeite ich seit einiger Zeit in einem Unternehmen, das eine SQL Datenbank besitzt und eine darauf aufbauende PHP 5.3 Applikation, die nicht nur den DB-Zugriff handhabt, sondern auch wichtige Berechnungen durchführt. Die Applikation hat über 200 Methoden mit wenig bis gar keiner Dokumentation und überhaupt keine Unit-Tests.

    Da bald PHP 5.3 nicht mehr unterstützt wird, sollten wir auf PHP 7 wechseln, sowie den Code der Applikation für PHP 7 anpassen. Die Hauptprobleme bei dem Wechsel sind, dass wir nur sehr wenige PHP Programmierer haben (genauer gesagt: zwei) und der Programmierer der Applikation nicht mehr in unserem Unternehmen ist.

    Die Frage ist nun, wie groß ihr den Aufwand schätzt diese Applikation von PHP 5.3 auf PHP 7 anzupassen? Und falls dieser zu groß sein sollte, was wären die möglichen Alternativen? Auch wurde bei uns überlegt sogar bei PHP 5.3 zu bleiben oder auch alles nochmal neu zu schreiben.

    Danke schonmal für eure Antworten.

    Moderation: userZ ist sich über die Foren-Regeln bewusst und weist auf ein Multi-Posting hin: http://www.selfphp.de/forum/showthread.php?p=148331

    Das Multi-Posting wird für diesen Fall gewährt. Grund: Kenntlichmachung des Multi-Posting und "Erste Schritte als Foren-Anfänger".

    Es wird darum gebeten nicht weiter den Zustand des Multi-Postings zu diskutieren. Fragen und Beschwerden zu dieser Entscheidung mögen bitte an tr0y gerichtet werden.

  • #2
    Zwischen keinem Aufwand und neu schreiben der Anwendung. Kommt ganz darauf an wie der Code aussieht. Das nicht vorhanden sein von Dokumentation und Unit-Tests macht eine Anwendung noch nicht Fehlerhaft, unflexibel oder php7-inkompatibel.
    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

    Kommentar


    • #3
      Copy Paste von selfphp inkl. Edit Button.
      http://www.selfphp.de/forum/showthread.php?p=148331

      Die Regeln hast du nicht gelesen oder?
      "Software is like Sex, it's best if it's free." - Linus Torvalds

      Kommentar


      • #4
        Zitat von JaMa Beitrag anzeigen
        Copy Paste von selfphp inkl. Edit Button.
        http://www.selfphp.de/forum/showthread.php?p=148331

        Die Regeln hast du nicht gelesen oder?
        Und ich hab mich schon gewundert wo der Ändern-Button herkommt, hätte vielleicht mal den Maus-Cursor drauf bewegen sollen.. :P

        ​Danke JaMa

        Moderation: Cross-/Multi-Posting - Geschlossen.
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar


        • #5
          Moderation: Thema wiedereröffnet. Begründung siehe Eröffnungspost.
          [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

          Kommentar


          • #6
            In welchen Fällen ist php-5.3 Code denn nicht php-7 kompatibel ?

            Kommentar


            • #7
              Siehe
              http://php.net/manual/de/migration54.php
              http://php.net/manual/de/migration55.php
              http://php.net/manual/de/migration56.php
              http://php.net/manual/de/migration70.php
              Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

              Kommentar


              • #8
                Zitat von meta02 Beitrag anzeigen
                In welchen Fällen ist php-5.3 Code denn nicht php-7 kompatibel ?
                Wenn er zum Beispiel ext/mysql verwendet.
                [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                Kommentar


                • #9
                  Ich behaupte, um das Schreiben von Tets wirst du eh nicht herumkommen, wenn du sauber migrieren willst. Und was dann an Aufwand besteht, dass kann ohne Code niemand abschätzen.
                  [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

                  Kommentar


                  • #10
                    Die Frage ist doch, welche konkreten Informationen liefert der TE für die Beantwortung seiner Frage? Ich muss feststellen, so gut wie keine.
                    "Eine SQL-Datenbank" - kann alles Mögliche sein. Das die Applikation unter PHP 5.3 läuft hilft auch nicht viel, da können noch jede Menge Objektstrukturen aus PHP4 Zeiten drin sein.
                    Das ist so wie die Frage, ob mein PKW, den ich vor 6 Jahren beim Gebrauchtwagenhändler gekauft habe, durch den nächsten TÜV kommt...

                    Kommentar


                    • #11
                      Wie bei allen Migrationen kann oftmals nur nach der Erstellung des Ist Zustands und einer Definition des Soll Zustands eine Aussage über die Komplexität der Migration getroffen werden.
                      ​Zunächst das Hosting läuft das ganze auf einem externen Hosting das möglicherweise später kein php 5.3 mehr anbietet oder ist ein Wechsel zu einem Hosting geplant das auch die nächsten
                      Jahre php 5.3 bietet (selten). Oder ist das ein Inhouse Hosting auf einem Server im Büro der auch in 10 Jahren noch mit php 5.3 laufen wird.
                      Oftmals bietet ein neues php 7 Hosting mehr Vorteile.
                      Eventuell wäre auch eine Idee von php 5.3 auf php 5.4 dann auf php 5.5 dann auf php 5.6 zu migrieren. Der letzte Schritt wäre dann eine Migration auf php 7.0.
                      Der größere Aufwand aber der längere Nutzen wäre gleich eine Migration auf php 7.0. Dabei wäre zu beachten das die mysql Extension nicht mehr verfügbar ist.
                      Dann sollte über mysqli, mongodb, pdo oder anderes nachgedacht werden.
                      Ein Vorteil wäre auch die autoload Funktion einzufügen die wohl bei php 5.3 noch nicht vorhanden ist wie auch Namespaces. Eine Migration von php 4 classes auf php 5 oder php 7 classes
                      wäre auch gut. Viele Funktionen zur Berechnung sind auch nach php 5.3 nicht mehr verfügbar oder haben eine andere Ausgabe gerade auch wenn noch alte php 4 classes vorhanden sind.
                      Je nach Umfang der vorhandenen classes kann somit eine Migration 1 Monat oder auch bis zu einem Jahr dauern wobei die Regel gilt das nicht mehr als 5 bis 7 php Programmierer gleichzeitig
                      an der Migration programmieren sollten, wenn doch mehr sollte ein Projektleiter benannt werden.
                      Letztlich sollten Programmierer des Vertrauens damit beauftragt werden um zu sehen welche Vorgaben dann eingehalten werden können.




                      Kommentar


                      • #12
                        Da sind aber einige eher steile Thesen dabei.

                        Kommentar

                        Lädt...
                        X