Nextcloud の警告「メモリキャッシュが設定されていません。」

「メモリキャッシュが設定されていません。」の警告(memcache)

Nextcloud で「概要」→「セキュリティ&セットアップ警告」を確認すると、下記のような警告メッセージが表示されてました。

メモリキャッシュが設定されていません。可能であれば、パフォーマンスを向上するため、memcacheを設定してください。
より詳しい情報はドキュメントで参照できます。

memcache が設定されていない警告なので「memcache」をインストールして設定していきます

memcacheのインストール

memcached をdnf でインストールします

# memcached をインストール
$ sudo dnf install memcached libmemcached

コードやオブジェクトをキャッシュできる「OPcache」、「APCu」もインストールします

# OPcacheとAPCu をインストール
$ sudo dnf install php-opcache php-pecl-apcu

# OPcacheがインストールされているか確認します
$ php -v
PHP 8.0.10 (cli) (built: Aug 24 2021 15:40:40) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.10, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.10, Copyright (c), by Zend Technologies

memcacheの設定

memcacheの設定は、config.phpで memcacheを有効にします

$ sudo vim /var/www/html/nextcloud/config/config.php
'memcache.local' => '\OC\Memcache\APCu',

opcacheの設定は、「/etc/php.d/10-opcache.ini」でおこなうので、下記のように設定します

$ sudo vim /etc/php.d/10-opcache.ini
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

APCuの設定は、「/etc/php.d/40-apcu.ini」でおこなうので、下記のように設定します

$ sudo vim /etc/php.d/40-apcu.ini
[apcu]
apc.enabled=1
apc.shm_size=32M
apc.ttl=7200
apc.enable_cli=1
apc.serializer=php

# apcuが有効になっているか確認します、「APCu Support」が「Enabled」になっていると確認します
$ php -i | grep -i apcu
/etc/php.d/40-apcu.ini
apcu
APCu Support => Enabled
APCu Debugging => Disabled

設定を変更したら、Apache, php-fpm の再起動して設定を読み直します

$ sudo systemctl restart php-fpm
$ sudo systemctl restart httpd

APCu の設定をおこなっていないと下記のように、「occ」を実行するとエラーになります。
下記のエラーの場合は、APCu は有効になっていないので、「/etc/php.d/40-apcu.ini」の設定を変更してAPCu を有効にします

# sudo -u apache php /var/www/html/nextcloud/occ
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?)

 

 

 

 

 

スポンサーリンク

0
0