PHP 7.4 - Memcache \OC\Memcache\APCu not available for local cache

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

peola

Benutzer
Registriert
10. Aug. 2016
Beiträge
22
Reaktionspunkte
0
Punkte
1
Hallöchen

Das Problem welches ich hier beschildere kommt zwar in Nextcloud vor, muss jedoch durch PHP 7.4 gelöst werden.
Leider funktioniert genau dieses nicht. Aus diesem Grund die eventuell etwas umständliche Erläuterung!

Es geht um eine Synology DS1517+ mit dem Betriebssystem DSM 7.1-42661 Update4.
Auf dieser habe ich unter anderem vor längerer Zeit NextCloud in das web-Verzeichnis installiert (kein Docker oder virtuelle Maschine) und konfiguriert.
Angelegt wurde ein Virtueller Host mit HTTP-Backend-Server: Apache HTTP Server 2.4 und Skript-Sprache PHP 7.4.28 und als Datenbank nutze ich MariaDB Version 10.3.32.
Es lief bis dato alles Fehlerfrei und es gab auch keine Warneldungen.
Erst jetzt habe ich ebenfalls nach längerer Zeit NextCloud wieder aktualisiert auf die Version 24.0.4.
Damit beginn auch das Problem!

Nun erhalte ich folgende Sicherheits- & Einrichtungswarnungen

- Fehlender Index "fs_id_storage_size" in der Tabelle "oc_filecache".
- Fehlender Index "fs_storage_path_prefix" in der Tabelle "oc_filecache".
- Fehlender Index "properties_pathonly_index" in der Tabelle "oc_properties".
- Fehlender Index "job_lastcheck_reserved" in der Tabelle "oc_jobs".
- Fehlender Index "direct_edit_timestamp" in der Tabelle "oc_direct_edit".

welche normalerweise mit 'occ db:add-missing-indices' behoben werden sollten.

Der Zugriff erfolgt per ssh und der weiteren Anmeldung über 'sudo -i'.

Die NextCloud-Installation liegt im Pfad '/volume1/web/nextcloud', in das ich vor Befehlseingabe hinein gehe.

Befehl: 'sudo -u html php occ db:add-missing-indices'
Fehler: This version of Nextcloud requires at least PHP 7.4<br/>You are currently running 7.3.3. Please update your PHP version.
Synology verwendet als Standard wohl nur die Version PHP (CLI) 7.3.3

O.k: NextCloud 24.0.4 benötigt nun mindestens PHP 7.4

Befehl: 'sudo -u html php74 occ db:add-missing-indices'
Fehler: An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

Ich habe etliche Varianten ausprobiert um das 'Memcache' - 'APCu' Problem zu lösen wie z.B.

- 'apc.enable_cli = 1' in php.ini
- 'extension = apcu.so' in conf.d -> xxx
- 'memcache.local' => '\OC\Memcache\APCu'

in den Verzeichnissen

- /usr/local/etc/php74
- /etc/php
- /volume1/web/nextcloud

und sicherlich einiges mehr.
'PHP 7.4' habe ich zwischen meinen Versuchen auch deinstalliert und wieder neu installiert.
Auch das nutzen von 'PHP 8.0.17' brachte keine Verbesserung.
Leider habe ich bisher nicht die richtige Stelle oder Datei gefunden um dieses Problem zu lösen.

Ich bin sehr dankbar über einen vernünftigen detaillierten Lösungsvorschlag.
Für meine geringe Linux-Kenntnisse bitte ich um Rücksicht.
 
Hallo luddi

danke für deine Antwort!
leider kommt es mit der Befehlszeile 'sudo -u html php74 --define apc.enable_cli=1 occ db:add-missing-indices' zur gleichen Memcache-Fehlermeldung.

Mit der Befehlszeile
sudo -u http php74 -c /var/packages/WebStation/etc/php_profile/<String>/conf.d/user_settings.ini /volume1/web/nextcloud/occ db:add-missing-indices (<String> muss der richtig zugewiesene Ordner sein)
konnte die Datenbank angepasst werden.
 
Hallo zusammen,

ich hatte das gleiche Problem und konnte es lösen, indem ich in der php.ini (per vi /usr/etc/php74/cli/php.ini) in der Sektion [apc] die Zeile "apc.enable_cli = 1" eingefügt und im Ordner /usr/local/etc/php74/cli/conf.d/ die Datei user_settings.ini mit dem Inhalt
"extension = apcu.so

[apc]
apc.shm_size = 512M
apc.enable_cli = 1"

angelegt habe (ohne Semikolon).

Wichtig war bei mir noch, die Zeile "extension = apcu.so" in der Datei /usr/local/etc/php74/cli/conf.d/extension.ini einzufügen.
Nach einem Neustart der Web Station sowie Apache war der Fehler endlich behoben.

Ich hoffe, ich konnte helfen!
LG
Marcel
 
Hallo zusammen,

ich hatte das gleiche Problem und konnte es lösen, indem ich in der php.ini (per vi /usr/etc/php74/cli/php.ini) in der Sektion [apc] die Zeile "apc.enable_cli = 1" eingefügt und im Ordner /usr/local/etc/php74/cli/conf.d/ die Datei user_settings.ini mit dem Inhalt
"extension = apcu.so

[apc]
apc.shm_size = 512M
apc.enable_cli = 1"

angelegt habe (ohne Semikolon).

Wichtig war bei mir noch, die Zeile "extension = apcu.so" in der Datei /usr/local/etc/php74/cli/conf.d/extension.ini einzufügen.
Nach einem Neustart der Web Station sowie Apache war der Fehler endlich behoben.

Ich hoffe, ich konnte helfen!
LG
Marcel
Oh, ich meinte natürlich nicht Semikolon sondern die Anführungsstriche 😅
 
  • Like
Reaktionen: Teckler
@mhorst0 hast Du auch update auf nextcloud 24.0.7 gemacht ?

Ich habs vorhin gemacht (auf eigenem ubuntu server) und den gleichen Fehler wie TE bekommen:
An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache
(Is the matching PHP module installed and enabled?)

apcu war installiert, zu sehen in den Einstellungen:
PHP
Version: 8.1.2
Speicherlimit: 1 GB
Maximale Ausführungszeit: 3600
Maximale Größe zum Hochladen: 16 GB
Erweiterungen:
Core, date, libxml, openssl, pcre, zlib, filter, hash, json, Reflection, SPL, session,
standard, sodium, apache2handler, mysqlnd, PDO, xml,
apcu, bcmath, calendar, ctype, curl,
dom, mbstring, FFI, fileinfo, ftp, gd, gettext, gmp, iconv, igbinary, imagick, intl, exif,
mysqli, pdo_mysql, Phar, posix, readline, redis, shmop, SimpleXML, sockets, sysvmsg, sysvsem,
sysvshm, tokenizer, xmlreader, xmlwriter, xsl, zip, Zend OPcache


Bei mir hat es gereicht in der Datei:
sudo nano /etc/php/8.1/cli/php.ini

das hier unten anzuhängen:
[apc]
apc.enable_cli=1

Aktualisierung lief durch:
sudo -u www-data php occ db:add-missing-indices

oc_mounts table updated successfully

Und der occ Hinweis ist in der NC weg.

Hatte hier was ähnliches gefunden
https://help.nextcloud.com/t/oc-mem...r-local-cache-issue-upon-initial-setup/140117

Und mit Deiner Info kombiniert

Danke sehr !
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat