PHP 7.0

  • Hallo,
    ich bitte sie um Hilfe bei folgendem Problem. Auf meiner/unserer Vereinswebsite, einer Joomla Site, http://www.die-n11.de/, gibt es ein Problem. Bei der versuchsweisen Umstellung auf PHP 7.0 kommt es zur folgenden Fehlermeldung

    Zitat

    " Error displaying the error page: Application Instantiation Error: Could not connect to MySQL. Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct (2;/var/tmp) in /mnt/web015/d1/44/54305644/htdocs/htdocs/libraries/joomla/session/handler/native.php on line 193 ".

    Da am 20.02.2017 die Zwangsumstellung auf PHP 7.0 kommt, muss der Fehler bis dahin beseitigt sein. Denn außer dieser Meldung ist von der Website nichts zu sehen, nach einer probeweisen Umstellung. Da bis her trotz umfangreicher Recherche noch keine Lösung gefunden worden ist, bitte ich doch um ihre Unterstützung. Vielen Dank!

  • Also hier noch einige Infos zur Installation:
    "SunOS localhost 5.10 Generic_142901-13 i86pc
    Datenbankversion 5.5.52-log
    Datenbankzeichensatz latin1_german1_ci
    Datenbankverbindungszeichensatz utf8mb4_general_ci
    PHP-Version 5.6.30
    Webserver Apache/2.2.31 (Unix)
    PHP-Interface für den Webserver cgi-fcgi
    Joomla!-Version Joomla! 3.6.5 Stable [ Noether ] 1-December-2016 22:46 GMT
    Joomla!-Plattform-Version Joomla Platform 13.1.0 Stable [ Curiosity ] 24-Apr-2013 00:00 GMT
    Browsererkennung Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
    Verzeichnis: /mnt/rid/56/44/54305644/htdocs/htdocs/tmp


    Du musst mit dieser Meldung deinen Hoster kontaktieren, der Session Save Path ist falsch gesetzt.


    Der Hoster wurde schon kontaktiert, seine Antwort steht noch aus


    Na hoffentlich wirds noch etwas bis zum 20.02.

  • Auch von mir ein Moin.


    Mir ist auch nichts bekannt. Keine Info's auf der Webseite von Strato und auch keine Mails bekommen.


    Habe damals mit der 3.6.5 auf PHP 7 umgestellt und keine Probleme mit allen Seiten gehabt.


    Warten wir also auf die Antwort vom Support.


    Poste doch mal die configuration.php (Ohne PW) im Spoiler.


    Woher hast du die Info zur Zwangsumstellung?

  • Hallo,
    Strato schreibt:


    Da die Seite schon jetzt auf PHP 5.6 problemlos läuft hat sich das Problem erstmal erledigt. Trotzdem bleibt die Frage offen warum das ganze auf
    PHP 7 dann nicht mehr funktioniert.

    Zitat

    Poste doch mal die configuration.php (Ohne PW) im Spoiler.
    Woher hast du die Info zur Zwangsumstellung?
    Gruß Elwood


    Aus dieser Mail:


    Hier mal die configuration.php


    Da die Seite auch irgendwann auf PHP 7 laufen sollte. Vielleicht weiß irgendjemand die Lösung.
    Gruß

  • Hallo,


    ich habe mit meiner Seite (Joomla 3.6.5) bei Strato das gleiche Problem. Wenn ich auf PHP7 umstelle erhalte ich die gleiche Meldung wie oben.
    Der Strato Support hat als erstes vorgeschlagen den absoluten Pfad zu konfigurieren


    https://www.strato.de/faq/arti…Joomla!-Installation.html


    danach kam folgender Hinweis:


    Laut den Joomla Foren kann der Fehler auftreten wenn der PHP Sessionpfad nicht in der höchsten Ebene liegt. Sie haben die Möglichkeit einen individuellen Pfad anzugeben. Unter dem folgenden Link finden Sie hierzu weitere Informationen im Joomla Forum.
    http://www.joomlaportal.de/mam…s-f-r-mambo-anpassen.html


    Ich Empfehle Ihnen wie in dem Forum beschrieben den Pfad in der configuration.php einzutragen oder alternativ eine php.ini Datei anzulegen und in dieser den gewünschten Pfad einzutragen. Hierfür können Sie einen Ordner auf Ihrem Webspeicher anlegen und diesen dann eintragen.


    Die Einstellungen - eine eigene PHP.ini und die Umstellung auf SQLi haben nichts gebracht. Der Fehler tritt sofort nach der Umstellung auf. Meine Seite lässt sich dann nicht mehr aufrufen.


    Viele Seiten im Internet schreiben, daß Joomla 3.6.5 mit PHP 7 funktioniert. Kann es bei "uns" daran liegen, daß wir eine vorgefertigte "1-Click" Installation von Strato nutzen, daß hier "irgendetwas" anders ist, als bei Installationen, welche man sich direkt bei Joomla herunterlädt?

  • Lege mal eine Datei mit folgendem Inhalt in einem Texteditor an, nenne sie meinetwegen pfad.php.

    PHP
    1. <?php echo $_SERVER['DOCUMENT_ROOT']; ?>


    Lade die Datei per FTP ins Hauptverzeichnis deiner Domain (root) hoch, und rufe sie im Browser auf: www.example.org/pfad.php (example.org mit deiner Domain ersetzen). Wenn der dann angezeigte Pfad von denen in der configuration.php abweicht, korrigiere die Einträge dort. Und dann teste die Umstellung noch einmal. Tägliches Leid...Strato schubst wohl öfters Kundenpakete zwischen ihren Servern herum. Aber zur Beruhigung, auch ich habe bisher schon mehrere Seiten dort problemlos umgestellt.

  • Hallo j!-n
    ich habe die php Datei eingetragen und den Pfad in die configuration.php unter


    public $log_path = '/home/strato/http/premium/rid/93/51/589351/htdocs/joomla_01/logs';
    public $tmp_path = '/home/strato/http/premium/rid/93/51/589351/htdocs/joomla_01/tmp';


    eingetragen. Das Ergebnis nach Umstellung auf php 7 ist das gleiche.


    Error displaying the error page: Application Instantiation Error: Could not connect to MySQL. Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct (2;/var/tmp) in /mnt/web120/d0/51/589351/htdocs/joomla_01/libraries/joomla/session/handler/native.php on line 193

  • Hm okay, ein letzter Versuch von außen, wenn das nicht geht, müsstest du den Support von Strato noch einmal in Anspruch nehmen. Versuche mal, diesen Pfad in die configuration.php einzutragen:


    Code
    1. /mnt/web120/d0/51/589351/htdocs/joomla_01/tmp
    2. /mnt/web120/d0/51/589351/htdocs/joomla_01/logs


    Und dann bitte noch einmal die Umstellung testen. Der Versuch ist es wert...Frickler frickeln.

    • Hilfreich

    So, dank FTP-Zugriff konnte ich das Thema genauer anschauen und debuggen:
    - Die ursprüngliche Fehlermeldung besagt, dass der Session Save Path nicht beschreibbar ist, weshalb ich vermutet habe dass der unter PHP7 abweicht - tut er aber nicht, ist in PHP 5.6 und 7 identisch
    - Ich habe deshalb mal manuell in einer PHP-Datei eine Session unter PHP7 erzeugt und gespeichert: Ergebnis war "geht"
    - Beim debuggen der Joomla-Session ist mir dann klar geworden, dass die Fehlermeldung, die PHP da erzeugt, eigentlich nur zum Teil besagt, was das Problem ist. Joomla speichert nämlich garkeine Sessions in Dateien, sondern biegt die Speicherung über einen custom save handler in die Datenbank um. Die Fehlermeldung, die PHP erzeugt, muss daher als "Die Session kann nicht gespeichert werden, prüf doch mal ob IRGENDWAS mit deiner Speicherung nicht hinhaut, ZUM BEISPIEL der Pfad"
    - Beim Debuggen der Datenbank-Speicherung konnte ich dann feststellen, dass Joomla keine Datenbank-Verbindung aufbauen kann, weil der Host nicht erreichbar ist
    - Und dann ergab ein kurzer Blick in die configuration.php, dass dort statt "rdbms.strato.de" ein "rdbms.strato.de:" (DOPPELPUNKT) angegeben ist, Doppelpunkt entfernt -> geht


    Schlussfolgerung: Strato hat bei den 1Click Installationen einen unnötigen Doppelpunkt an den Datenbank-Hostname angehangen, den die Kombi "PHP 5.6/MySQL als Treiber" problemlos gefressen haben, der mit PHP7/mysqli dann aber nicht mehr funktioniert. Schmeiße das jetzt mal in meinen Kanal bei Strato, mal schauen was die damit machen.

  • Habe meine 3.6.5er Joomla-Seite schon ein paar Tage mit PHP 7.0.15 laufen. Kann mich nicht an ein Problem bei der Umstellung entsinnen, denn in die configuration.php hätte ich den Doppelpunkt sicher übersehen (sehr alte Lesebrille). Nur das mit den wechselnden Pfaden kenne ich bei Strato.
    Danke SniperSister für die Hinweise!