Linuxspicker

Admins kleiner Zettelkasten für die Lösung von Linuxproblemen

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: , , , ,
Kategorien: ,


Kommentare

Keine Kommentare

Kommentare

Geben Sie Ihren Kommentar hier ein. * Eingabe erforderlich. Sie müssen die Vorschau vor dem Absenden ansehen.