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

peola

Benutzer
Mitglied seit
10. Aug 2016
Beiträge
22
Punkte für Reaktionen
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.
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.260
Punkte für Reaktionen
605
Punkte
174

peola

Benutzer
Mitglied seit
10. Aug 2016
Beiträge
22
Punkte für Reaktionen
0
Punkte
1
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.
 

mhorst0

Benutzer
Mitglied seit
19. Mai 2017
Beiträge
2
Punkte für Reaktionen
1
Punkte
53
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
 

mhorst0

Benutzer
Mitglied seit
19. Mai 2017
Beiträge
2
Punkte für Reaktionen
1
Punkte
53
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

Teckler

Benutzer
Mitglied seit
06. Nov 2022
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
@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 !
 


 

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