Version 2.5 und PHP 7.1 Problem

  • Ihr lieben,
    aus Verzweiflung melde ich mich und bin über jeden Rat dankbar.
    Ich bin nicht sicher, ob es in "PHP" gehört oder in das "2.5-Thema". Bitte seht mir das nach!

    Strato hat meiner Gesangslehrerin angekündigt, dass ihr PHP Version (5.6. glaube ich) ab dem 05.02. abgeschaltet wird und nur gegen Gebühr noch verwendet wird. Leider läuft ihre Seite auch noch auf joomla 2.5.x. Alles suboptimal (ich weiß, aber so ist es nun mal...!) und weil sie nicht weiter kam, habe ich mich angeboten, dass ich evtl. dabei schauen kann.

    Das habe ich heute (bzw. mittlerweile schon gestern) angefangen und als ich stückweise die joomla-Version Updaten wollte, dann passierte der Super-Gau:
    Während ich testweise die PHP Version umgeschaltet habe (Strato warnt noch davor, dass das nur innerhalb von 30 Minuten und ohne Ausloggen rückgängig gemacht werden kann), ist mein Browser abgeschmiert...Große Kacke. Und nun komm ich nicht mehr rein.
    Darf/soll/muss ich den Link hier posten, damit ihr den Fehler sehen könnt? http://annibarth.de/administrator/index.php
    Wenn ich nun versuche einzuloggen kommt die Meldung: "Username and password do not match or you do not have an account yet."
    Ich vermute das hängt eben mit der nun neuen PHP Version zusammen...

    Ich habe natürlich ein Backup von dem ftp, als auch von der Datenbank. Also war meine nächste Idee war es mit XAMPP das ganze local aufzubauen und das hier stückweise erst mal auf die aktuelle Version zu bringen. So zumindest der Plan...
    Aber leider hakt dann hier die Datenbank, wenn ich diese da importieren will:
    "#1064 - Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei '?' in Zeile 1"


    Und nun habe ich so viele lose Enden, wo ich nicht mehr weiter komme... hmm
    Meine nächste Überlegung wäre bei Strato nachzufragen, ob sie die PHP-Version manuell wieder auf die letzte 5er Version zurück setzen können und ich dann dort weiter machen kann?
    Oder habt ihr bessere Ideen? Ich bin echt für alles dankbar!!! Falls ihr noch was an Infos braucht, dann sagt es mir gerne!

    Ich bin lernwillige Anfängerin bei dem ganzen Kram, also bitte entschuldigt, wenn ich hier so Laien-Fehler begehe und wahrscheinlich auch Laienhaft erkläre. 8)

    PS: Ich mag mich bei Hilfe natürlich auch gerne erkenntlich zeigen! beer

  • PS: Ich mag mich bei Hilfe natürlich auch gerne erkenntlich zeigen!

    OT: Falls es sich hier mehr als nur um ein Kaffee oder ein Bier handelt, bitte oben auf "Dienstleister" klicken.

    Hier im Forum wird kostenfrei geholfen und kommerzielle Anfragen sind nicht erlaubt.

  • Backup der Seit in einer lokalen Umgebung einspielen Xampp oder ähnliches. Schrittweise updaten Joomla Extensions nicht vergessen. Dann kann auch PHP hochgestellt werden. Das geht bei Winamp oder so ähnlich im laufenden Betrieb. Schau mal unter Anleitungen, da findest du für Winamp oder so ähnlich eine Anleitung von Hechtnetz. Auch zum Updaten ist da glaube ich eine Anleitung. Wichtig ist Schrittweise.

  • Guten Morgen, wenn das importieren der Datenbank das Problem ist müsstest du diese auch einfach nochmal neu ziehen können. Die ist ja unabhängig von der PHP Version. Da kannst du beim Holster im PHPmyadmin nochmal die Datenbank ziehen.


    Ansonsten ist die Idee mit dem zurückstellen beim Holster vielleicht nicht dumm. Auch wenn heute der letzte Tag ist. Aber vielleicht machen sie es ja noch. Dann kannst du dir ein vernünftiges Backup ziehen.


    Ansonsten macht es vielleicht auch Sinn die Seite direkt neu aufzusetzen mit 3.9.2


    Ich denke Mal sie ist nicht so komplex oder? Manchmal kommt man damit besser)schneller ans Ziel.

  • Ich danke Euch allen wirklich sehr! Und vor allem Danke ich Euch, dass keine blöden Antworten kamen ;-)

    Indigo66 Das war keine kommerzielle Anfrage, aber ich einfach so verzweifelt, dass ich da gerne was zurück geben möchte ;-)

    chr-hl Ich hatte es mit der ältesten XAMPP Version (für PHP 5.6) probiert, aber ich denke da werde ich weiter versuchen. (Auch weil meine Internetanbindung hier auf dem Dorf so lahm ist und das uploaden von Änderungen Ewigkeiten braucht. So könnte ich es alles schön hier local machen und einmal hochschieben.)
    Die Datenbank habe ich ganz normal bei PhpMyAdmin exportiert. Gibt es da einen besseren/anderen Weg? Muss ich mal googlen...

    JohannesK Danke für den Hinweis, dass die Datenbank unabhängig von der PHP Version ist. Das wusste ich nicht und ich dachte schon ich hätte mir damit jetzt da auch was zerstört. Puh!
    Und wenn gar nichts hilft: Stimmt, an das neu Aufsetzen habe ich auch schon gedacht.
    Es sind glaube nur 5-6 Unterseiten mit Text und Bild (die auch alle vorliegen), also wäre es vom Einpflegen gar nicht tragisch. Zumal ich das Template ja eh anpassen muss...
    Aber allein aus dem eignen Ehrgeiz mag ich da jetzt mal hinter steigen. Man lernt ja auch nie aus!

  • Ich danke Euch allen wirklich sehr! Und vor allem Danke ich Euch, dass keine blöden Antworten kamen ;-)

    Warum sollte man dort blöd antworten, wir haben alle einmal angefangen!


    PhpMyAdmin ist m.E. schon die richtige Wahl für den Export, jedoch ist dort die Frage, was wird exportiert, nur die Tabellen oder DB mit Tabellen.

    Dazu habe ich im meinem Tutorial auch etwas geschrieben.

    Easy Joomla Backup (EJB) erstellt auch "nur" einen Export der Tabellen.


    Christian

  • Danke! Leider schrecke ich vor Fragen in Foren oder Gruppen tatsächlich immer zurück, weil man als Laie mit vielleicht blöden Fragen oft irgendwie doof angemacht wird. So schön, dass das hier nicht der Fall ist!

    Ich schaue mir das Tutorial gleich direkt mal an, danke!

  • Moin Liz-el-otte,

    die Seite selbst ist ja schon offline.

    Bitte kurz aber heftig nachdenken, ob ein Neuaufsetzen mit aktuellem Joomla und responsivem Template (denn das muss zur 2.5-Version ja auch geändert werden) nicht der schmerzärmere Weg ist. Kommt auf den Umfang der Seite an. Inhalt der Beiträge sind ja evtl. überschaubar. Wenn die DB wieder läuft, dort auch zu finden im PHPMyAdmin.

    Zu Problem:

    a) Hast Du wirklich ein XAMPP mit PHP Version 5.6? Bitte prüfen.

    b) Eventuell nochmal einen Dump von der Datenbank ziehen und versuchen zu importieren.

    c) Anstelle von XAMPP auch mal UwAmp (>> Link) probieren. Muss nicht installiert werden, aber bitte den Abschnitt "UwAmp vorbereiten" von >> hier beachten. Die PHP-Version kannst Du umstellen (Bild blau), PHPMyAdmin vom Control-Panel (Bild rot) starten. Wenn es da geht solltest Du auch Dein Joomla da zum Laufen bekommen. Aber wie oben gesagt: Lohnt sich das anheben dann oder eher c&p?




    OT: Und nochwas!
    Schütze Dein Administrator-Verzeichnis (Bei Strato heißt das in der Kundenoberfläche wohl auch "Verzeichnisschutz"). Der Link für direkt auf die Login-Maske. Das sollte nicht sein.

    ------------------------------------------------------------
    Gruß vom Jörg
    (Lehrer ist kein Beruf sondern eine Diagnose. oops )

  • Inhaltlich ist schon alles gesagt und du bist hier in allerbesten Hände.

    Das du etwas zurückgeben möchtest, ehrt dich! Du hast es ja weiter oben schon getan. Denn tatsächlich freuen wir uns hier alle über den "Daumen hoch" - dem optischen Danke sagen hier im Forum :)

    Und wenn du noch mehr zurückgeben möchtest: Joomla bietet vielfältige Möglichkeiten das zu tun. So kannst du beispielsweise vielleicht dem ein oder anderen hier im Forum auch mal antworten oder Tutorials schreiben oder an verschiedenen Stellen einfach mitarbeiten. Dazu muss man oft genug gar nicht soviel wissen. Wie Christian schreibt: wir alle haben mal bei 0 angefangen ;)



    Axel

  • Bin selbst dabei meine alte 2.5.9 Installation (mit Plugins die es für 3.x nicht mehr gibt, bzw. deren Anpassungen ich nicht auf neuer Basis nochmal nachstellen will) auf PHP7.2 zu portieren.

    Das Grundproblem ist ja, dass PHP7 ein jämmerlicher Etikettenschwindel ist - so als hätte man "Java" dazumals "C++ V2" genannt, d.h. um den alten Code damit wieder zum Laufen zu bringen sind Querbeet Anpassungen nötig, z.B.

    • Semantik von $x->$y[$z] wurde geändert, d.h. muss jetzt $x->{$y[$z]} heissen damit es wie vorher läuft
    • JRegistry: die 2.5.9 Impl funktioniert mit PHP7 nicht und führt zu der typischen initialen "not authorized,, " Meldung (das kann man leicht fixen indem man z.B. die setter/getter von der Registry Impl aus 3.9 übernimmt, evtl. reicht auf der obige Fix)
    • preg_replace muss man ersetzen weil nicht mehr vorhanden
    • dann gibt es diverse Warnings die man beheben kann (aber vermutlich nicht muss): count($xx) Tests sollte man neu verbinden mit einen vorgängigen Test ob es überhaupt ein Array ist; z.T. wurden im alten Code Methoden in Sub-Klassen mit falschen Signaturen überschrieben, nicht statische Methoden wurden aufgerufen als ob sie statisch wären - und irgendwelche Spezial-Hirnis erwarten dann auch noch $this Pointer in der statischen Methode (ich glaube das war aber in einem der Plugins); Funktionen liefern jetzt per default eine Referenz d.h. entsprechenen "=& " Code kann man sich sparen.
    • die Warnungen "PHP Notice: Only variables should be passed by reference" sollte man unbedingt ignorieren - denn führt man die gewünschten Variablen ein, dann läuft plötzlich gar nichts mehr.. (die neue PHP Version ist wohl die alte Scheisse in einer neuen Farbe...)
    • etc

    Bis auf ein Problem mit der Session-Verwaltung scheint es bei mir schon mal zu laufen - und das müsste hoffentlich auch noch zu beheben sein.. die Migration ist aber eine Fleissübung (v.a. wenn man wie ich mit dem Joomla Framework nicht vertraut ist).

  • Bin selbst dabei meine alte 2.5.9 Installation ......... auf PHP7.2 zu portieren.

    Bedenke, dass PHP 7 erst ab Joomla 3.5 läuft. Vorher solltest du zum Aktualisieren besser 5.4 nutzen!


    Es klingt etwas merkwürdig, wenn du schreibst, was sich jetzt so bzgl. der PHP-Version geändert hat.

    PHP 7 gibt es schon länger und die erwähnten Punkte sind alles alte Kamellen. Joomla 4 steht auch so langsam in den Startlöchern.

    Dein Joomla 2.5.9 hättest du längst aktualisieren müssen, da es höchst sicherheitsanfällig ist.

  • Bedenke, dass PHP 7 erst ab Joomla 3.5 läuft. Vorher solltest du zum Aktualisieren besser 5.4 nutzen!


    Es klingt etwas merkwürdig, wenn du schreibst, was sich jetzt so bzgl. der PHP-Version geändert hat.

    PHP 7 gibt es schon länger und die erwähnten Punkte sind alles alte Kamellen. Joomla 4 steht auch so langsam in den Startlöchern.

    Dein Joomla 2.5.9 hättest du längst aktualisieren müssen, da es höchst sicherheitsanfällig ist.

    Hier liest wohl jemand nur die Hälfte: soweit ich sehe geht es in DIESEM Thread um "Version 2.5 und PHP 7.1 Problem"

    und genau darum habe ich Infos zu dieser Kombination gegeben (leider erschöpfen sich die Antworten zu diesem Thema meist in sinnlosen "musst Du altes PHP nehmen!" bzw. "musst Du neues Joomla nehmen!" .. sinnlos deshalb weil man sich die vom Hoster angebotene PHP Version nur sehr bedingt aussuchen kann und weil es Leute gibt die alte Plugins nutzen deren Hersteller es längst nicht mehr gibt und die NULL Interesse daran haben, ihre bestehende gut funktionierende Web-Seite nur deshalb neu zu schreiben, weil ihr Hoster keinen Bock mehr hat, nebst der aktuellen schlechten PHP Version auch die alten schlechten PHP Versionen weiter anzubieten).

    Ich habe meine Joomla 2.5.9 Instanz längst auf PHP5.6 portiert aber das bringt leider nichts wenn mein Honk von Provider ab Ende Monat nur noch PHP >7 anbietet.

    Und meine Joomla 2.5.9 Instanz läuft mit PHP7.2 weil ich den Code entsprechend portiert habe (was mir das deulich kleinere Risiko scheint, als die Migration meiner Daten/Plugins auf eine andere Major-Version von Joomla)! Und "I could not care less" ob es irgendwelche neuen Joomla Versionen gibt oder geben wird (Ich bin ein Anhänger der vergessenen "if it ain't broken don't fix it" Schule..). Und wenn ich mir die "green banana" Software ansehe, die im PHP und oder Joomla Umfeld üblich zu sein scheint, dann kann ich nur laut lachen, wenn mir jemand mit "sicherheitsanfällig" kommt - wenn das meine Sorge wäre würde ich bestimmt kein PHP/Joomla benutzen.

  • Dann such dir doch ein Joomla-2.5-Forum.


    2.5.9 hat gravierende Sicherheitslücken und aus. Wenn du in der Lage bist, Code zu portieren, wo ist dann eigentlich dein Problem Erweiterungen zu portieren.


    Und PHP7 als "Etikettenschwindel" zu bezeichnen, zeigt wie weit weg du vom Thema bist und wie wenig man deinen Tipps folgen sollte.


    Ich schreibe das nur, damit andere nicht auch auf solche dämlichen Ideen kommen.

  • Darf/soll/muss ich den Link hier posten, damit ihr den Fehler sehen könnt? http://annibarth.de/administrator/index.php

    Die angezeigten Fehlermeldungen sind nur die Spitze des Eisbergs (vgl. meine erste Antwort).. die " Array to string conversion" Meldungen kommen von der Semantik-Umstellung der indizierten Zugriffe: $a->$b[$c] wurde vor PHP7 als $a->{$b[$c]} evaluiert.. aber bei PHP7 bedeutet es ($a->$b)[$c] .. darum kann das nicht mehr funktionieren und um dieses Problem zu fixen müssen im Code explizit die {} ergänzt werden um wieder die alte Semantik zu erzwingen..

  • 2.5.9 hat gravierende Sicherheitslücken und aus. Wenn du in der Lage bist, Code zu portieren, wo ist dann eigentlich dein Problem Erweiterungen zu portieren.


    Und PHP7 als "Etikettenschwindel" zu bezeichnen, zeigt wie weit weg du vom Thema bist und wie wenig man deinen Tipps folgen sollte.

    Wow.. was für fundierte Argumente! WEIL ES SO IST, PUNKT! Sind wir hier in der Kirche? Da du offenbar der grosse Experte oder zumindest Vorbeter bist, erzähl doch mal welche Sicherheitslücken das sind und welche Vorraussetzungen gegeben sein müssen damit man sie ausnutzen kann (ich bin sicher Du kennst mein DMZ/Hosting Setup aus dem EffEff)!

    Ich hatte eigentlich gehofft, dass hier auch Leute sind die was von Softwareentwicklung verstehen: Natürlich könnte ich auch Erweiterungen portieren, nur dass mir dabei mit hoher Wahrscheinlichkeit ein Vielfaches des Aufwandes entstehen würde: Die PHP7 bedingten Anpassungen sind verhältnissmässig klar umrissen und erfordern kein tiefgreifendes Verständnis des zu portierenden Codes. Die Portierung eine Erweiterung auf eine neue Joomla Version erfordert dagegen *zusätzlich* detailiertere Kenntnisse der Joomla Quell-/Ziel-Architektur sowie der Erweiterung und bedingt einen deutlich höheren Regression-Test Aufwand. (Lustig das man das überhaupt jemandem erklären muss..)

    Daneben kann ich mein Glück aber kaum fassen, in dir offenbar gleich auch noch einen Experten für Programmiersprachen gefunden zu haben. Dann erzähl doch als Erstes mal mit welchen Sprachen du denn fundierte Programmiererfahrungen hast und über welchen Zeitrum du sie beruflich eingesetzt hast. Ich bin aber schon jetzt überrascht, wenn du beim life-cycle management von PHP tatsächlich keine Unterschiede zu dem von anderen Programmiersprachen erkennen solltest.. (spoiler: suche mal nach Abwärtsinkompatible Änderungen)

  • Wenn du das Wissen von Supportlern bezweifelst, musst du dich nicht wundern, dass man sich schwer tut die Ratschläge zu geben.

    Wenn du jedoch es für sinnvoll hälst ein von der Community nicht weiter supportes System betreiben zu wollen, ohne dass dies ein Sicherheitsrisiko sein soll, musst du dich nicht wundern, wenn das Risiko Eintritt.

    Auch ich halte deinen Ansatz für falsch und um das zu erkennen, braucht man keine Programmierefahrung.

  • Spannend... ich habe hier in einem Bereich der explizit "Ältere Joomlaversionen/Joomla 2.5" heisst, sachliche Informationen zum Thema dieses Threads "Version 2.5 und PHP 7.1 Problem" gegeben.

    Ich habe in diesem Thread überhaupt keine Ratschläge gesucht. sondern Informationen gegeben mit denen jeder machen kann was er will. (Ich habe auch niemandem empfohlen die alte Version zu nehmen.)

    Ich musste mir daraufhin unsachliche persönliche Angriffe gefallen lassen "zeigt wie weit weg du vom Thema bist und wie wenig man deinen Tipps folgen sollte" und wenn ich auf eine direkt an mich gerichtete Frage "wo ist dann eigentlich dein Problem Erweiterungen zu portieren" antworte, dann hält man MIR die Forenregeln vor und ich bin es plötzlich der einen Thread gekapert hat?!

    Wenn für diese "community" alte nicht mehr supportete Versionen ein Tabu sind, dann wäre es vielleicht hilfreich den entsprechenden Bereich zu entfernen - dann kommt auch niemend auf die Idee hier zu dem Thema Informationen zu suchen.

  • Informationen gegeben mit denen jeder machen kann was er will.

    Und diese von dir geposteten Informationen gehören nicht in ein seriöses Joomla-Forum, jedenfalls nicht ohne deutlichen Widerspruch, in denen Fragende Hilfe bekommen sollen eben KEINE Fehler zu machen. Ein uraltes, unsicheres Joomla coreseitig so zu hacken, dass es angeblich problemlos auf PHP 7 läuft, ist ein Fehler.


    Was Verpflichtung zur uneingeschränkten Rückwärtskompatibiltät anrichten kann, nämlich neue, einfachere Techniken im Joomla-3-Core NICHT verwenden zu dürfen, weiß jeder, der sich nur ein bisschen an Joomla-Entwicklung beteiligt.


    Was alleine durch die Mindestvoraussetzung PHP 7 (man weiß noch nicht, welche) in Joomla 4 codeseitig an Code-Effizienz an vielen Stellen zu sehen ist, ist ein Riesenschritt vorwärts. Nur das alleine.


    Dann sollen wir für dich noch Quellen zusammensuchen, weil du zu faul und selbstverliebt bist und glaubst hier wären nur Spacken unterwegs. Sieger66 hat das ja jetzt netterweise für dich getan. Die meisten Supporter hier kennen diese Quellen, haben die bitteren Folgen für Joomlanutzer miterlebt und mitbetreut. Und deshalb "basta".

    mein DMZ/Hosting Setup

    Das erwähnst du zum ersten Mal. Was glaubst du, wie viele Fragende hier eine eigene DMZ verwenden, wie viele von denen sind in der Lage ein solches System sicher aufzusetzen und sicher zu betreuen und die Zeit dazu haben? Oder lässt du das Setup auch auf Stand 1990, weils ja mit ein paar eigenen Hacks prima weiterläuft?

    Außerdem würde mich interessieren, wie du dann deine Firewalls aufsetzt, wenn du keine Ahnung hast, welche Lücken in deiner WEbseite überhaupt ausgenutzt werden können.

    Oder willst du damit andeuten, dass dein Joomla nur über ein LAN erreichbar ist?

    Egal. Wirst schon wissen, was du tust.


    Die meisten Fragesteller sind bei Hostern, die dankenswerterweise mittlerweile nahezu alle kapiert haben, dass man veraltete Software mit Vorlauf von Servern rigoros entfernt; auch des kostenintensiven Pflegeaufwands wegen. Und ganz schlaue, pflichtbewusste verbieten sogar Joomla 2.5. Deine Hack-Vorschläge sind ein gutes Argument für solche Hoster gleich richtig "radikal" zu handeln, wenn Webseiten-Nutzer und Server fahrlässig gefährdet werden.


    Fordert übrigens auch die DSGVO.


    Ich bin jetzt hier ausch raus. Bemüh dich nicht weiter...

  • Alte Joomla Versionen sind kein Tabu, wir helfen Leuten, diese Versionen zu aktualisieren. Es gibt immer wieder Fälle, in denen alte Versionen irgend wo herumliegen und wieder aufgegriffen werden (müssen) und bei der Aktualisierung helfen wir gerne. Ziel ist immer, eine aktuelle Version zu erreichen.

    Wir raten aber nicht dazu, an einer unsicheren alten Version zu tricksen, das ist unverantwortlich.