PHP: "Memcache OC\Memcache\APCu not available for local cache"
Nach der Hochstufung des php-Kommandozeilenbefehls von php 8.0 auf php 8.2 gab es bei Cronjobs für die Nextcloud folgenden 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?)
Da das Paket php8.2-apcu installiert ist, konnte ein Fehlen ausgeschlossen werden. Der Vergleich der Einstellungen für das Modul 20-apcu.ini
in /etc/php/8.2/cli/conf.d
mit denen in /etc/php/8.2/cli/conf.d
brachte dann zu Tage, dass zwar die Erweiterung an war, aber die Kommandozeilenvariante fehlte.
extension=apcu.so
wurde so zu
extension=apcu.so
apc.enable_cli = 1
apc.enable = 1
wodurch der APC User Cache auch für die Kommandozeile angeschalten wurde.
Das PHP-Handbuch gibt die Erklärung, dass das Anschalten des Caches für die Kommandozeile nicht wirklich ideal ist.
apc.enable_cli int
Mostly for testing and debugging. Setting this enables APC for the CLI version of PHP. Under normal circumstances, it is not ideal to create, populate and destroy the APC cache on every CLI request, but for various test scenarios it is useful to be able to enable APC for the CLI version of PHP easily.
Bleibt also nur noch dem Nextcloud-Script beizubringen, darauf in Cronjobs zu verzichten.
php ./occ news:updater:after-update;
php ./occ news:updater:after-update --purge-unread 500;
Stichworte: Apc user cache, Nextcloud, Php, Php-apcu, Php 8.x
Kategorien: Linux, Debian
Kommentare
Keine Kommentare
Kommentare