Logo von Mediengestaltung Torsten Kelsch

Concrete5 in Version 8.x läuft nicht unter PHP 7

Nachtrag 1: Inzwischen habe ich eine Lösung gefunden, die ich im Artikel Lösung: concrete5 in Version 8 unter PHP 7 vorstelle.

Nachtrag 2: Im Kommentar hat jemand von concrete5.de eine Lösung vorgeschlagen, die meiner oben erwähnten ähnelt:

Den Session Handler in die Datenbank zu packen, ist keine gute Idee, dies würde die Datenbank unnötig belasten.
Die Fehlermeldung haben wir oft bei Servern erlebt, die PLESK nutzen. Da /var/lib/php/session direkt unter dem Root-Verzeichnis des Servers abzulegen ist, ist es, wegen Schreibrechte, unmöglich dort die Sessions abzulegen. Man kann entweder die Schreibrechte des Ordners session ändern, oder einfacher, die Sessions woanders speichern. Beispiel: var/lib/php/session ohne Anfangs-Slash, dann wären die Sessions im relativen Pfad.


Wahrscheinlich hängt es vom Webhoster und dessen Einstellungen ab, aber bei einem bestimmten Hoster kriegte ich concrete5 in den aktuellen Versionen 8.x und unter PHP 7.x nicht ans Laufen. Es erschien beim Installationsversuch die Fehlermeldung:
is_dir(): open_basedir restriction in effect. File(/var/lib/php/session) is not within the allowed path(s): (/var/www/vhosts/[…]/:/tmp/).

Nun existiert zwar eine Lösung hierfür. Bei der Installation gibt man an, dass die Sessions nicht in Dateien, sondern in der Datenbank gespeichert werden sollen:


Concrete 5 Version 8, Session-Handler Datenbank

(Aufs Bild klicken zum Vergrößern)

Zusätzlich erstellt man eine Datei namens concrete.php, schreibt dort das Folgende hinein und lädt sie nach /application/config hoch:

<?php
return array(
    'session' => array(
    'handler' => 'database'
    )
);

Doch das half in einem meiner Fälle auch nicht; concrete5 ließ sich einfach nicht installieren, sondern erst dann, als ich auf die ältere PHP-Version 5.6.32 umgeschaltet hatte.

Es war auch schon einmal vorgekommen, dass mit den oben genannten Workarounds concrete5 sich zwar nicht in ein Unterverzeichnis und auch nicht in eine Subdomain installieren ließ, jedoch in den Hauptbereich. Warum mal dieses, mal jenes und mal gar nichts funktioniert, noch zumal bei demselben Webhoster, will sich mir einfach nicht erschließen. Ich erkenne kein Muster. Und nach mehrmaligen stundenlangen Fummeleien schwindet natürlich auch so langsam meine Begeisterung für dieses CMS.

2 Antworten zu »Concrete5 in Version 8.x läuft nicht unter PHP 7«

  1. R. Jouili sagt:

    Den Session Handler in die Datenbank zu packen ist keine gute Idee, dies würde die Datenbank unnötig belasten.
    Die Fehlermeldung haben wir oft bei Server erlebt die PLESK nutzen, da /var/lib/php/session direkt unter dem Root-Verzeichnis des Servers abzulegen ist, ist es, wegen Schreibrechte, unmöglich dort die sessions abzulegen. man kann entweder die Schreibrechte des Ordner session ändern, oder einfacher, die Sessions wo anders speichern. Beispiel: var/lib/php/session ohne Anfangs-Slash, dann wären die sessions im relativen Pfad.

  2. Torsten Kelsch sagt:

    Ah, vielen Dank für diesen Lösungsweg.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Mit Absenden dieses Kommentarformulars bestätigst du, dass du die Datenschutzerklärung gelesen hast und dich mit der Speicherung deiner Daten einverstanden erklärst. Deine Daten werden nur benötigt, um dich gegebenenfalls zwecks Beantwortung deiner Anfrage kontaktieren zu können, und werden weder an Dritte weitergegeben noch zu Werbezwecken missbraucht.

Mediengestaltung Torsten Kelsch