Hallo @michai,
ja, ich hatte selbiges Problem und ich habe tatsächlich eine Lösung gefunden, welche ich gestern implementiert und auf drei bei IONOS betriebenen NextCloud Instanzen erfolgreich getestet habe. Resultat: keine nachvollziehbaren Logouts und keine Problem loading page, reloading in X seconds Meldungen mehr.
Der sessions.save_path=/tmp/.priv war schon sehr nah dran. Leider habe ich festgestellt, dass IONOS die PHP Session Garbage Collection deaktiviert hat (session.gc_probability=0) und diese höchstwahrscheinlich über ein Cronjob oder ähnliches durchführt. Hierbei habe ich die Vermutung, dass ab und zu aktive PHP Sessions gelöscht werden, welche nicht gelöscht werden sollten…
Also benötigen wir doch ein NextCloud spezifischen Ordner für die PHP Sessions:
session.save_path = /kunden/homepages/SERVER_NUMMER/KUNDEN_NUMMER/htdocs/.phpsessions.
Dank dem 1und1 Setup Beitrag habe ich festgestellt, dass eine php.ini Datei im Root Verzeichnis der NextCloud nicht ausreicht. Die php.ini Datei, beziehungsweise ein symbolischer Link dazu muss in jedem NextCloud Ordner liegen, in welchem mindestens eine *.php Datei liegt.
Hierfür habe ich ein ähnliches Setup wie @berho:
-
Erstelle den
.opcacheund.phpsessionsOrdner im/kunden/homepages/SERVER_NUMMER/KUNDEN_NUMMER/htdocs/Home Directory:mkdir .opcache mkdir .phpsessions -
Erstelle eine
php.iniDatei im/kunden/homepages/SERVER_NUMMER/KUNDEN_NUMMER/htdocs/Home Directory:cat << EOF > /kunden/homepages/SERVER_NUMMER/KUNDEN_NUMMER/htdocs/php.ini memory_limit=512M zend_extension=opcache.so opcache.enable=1 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 opcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=1 opcache.file_cache=/kunden/homepages/SERVER_NUMMER/KUNDEN_NUMMER/htdocs/.opcache opcache.file_cache_only=1 session.save_path =/kunden/homepages/SERVER_NUMMER/KUNDEN_NUMMER/htdocs/.phpsessions EOF -
Erstelle in jedem NextCloud Ordner, welcher mindestens eine *.php Datei enthält einen symbolischen Link auf die
php.iniDatei im Home Directory:cd nextcloud find . -type f -name '*.php' -printf '%h\n' -execdir ln -s ~/php.ini $(dirname "{}")/php.ini \; -
Einziger Haken besteht darin, dass vor jedem NextCloud Update die symbolischen Links wie folgt gelöscht werden müssen:
cd nextcloud find -name "php.ini" -type l -exec rm {} \;
@berho Vielen Dank für deinen 1und1 Setup Beitrag, welcher erheblich zur Lösung unseres Problems beigetragen hat!