見出し画像

NextCloudを構築したはいいものの、概要にAPCuのキャッシュエラーが出ちゃう人向けのメモ

前置き

Administrating setting->概要 のところに
最終ジョブ実行は xx時間前 です。何か問題が発生しています。
が現れたり、コマンドで以下を実行するとExceptionが出ちゃう、他の記事を読んだけど対処方法がよーわからん人向けの記事になります。

$ sudo -u www-data /usr/bin/php -f /var/www/html/nextcloud/cron.php
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)

本編

原理は各自で調べてもらうとしてとりあえず応急処置的な感じで書いておきます。

  1. apc.enable_cli=1 を /etc/php/8.1/apache2/php.iniと/etc/php/8.1/cli/php.ini 、/etc/php/8.1/mods-available/apcu.ini に追記する。

  2. apc.shm_size=512Mを/etc/php/8.1/mods-available/apcu.iniに追記する。

 $ cat /etc/php/8.1/apache2/php.ini
~~~~前略~~~~
[ffi]
; FFI API restriction. Possible values:
; "preload" - enabled in CLI scripts and preloaded files (default)
; "false"   - always disabled
; "true"    - always enabled
;ffi.enable=preload

; List of headers files to preload, wildcard patterns allowed.
;ffi.preload=

;apc.enable_cli=1   ←これを追記する
 
/etc/php/8.1/cli/php.iniは同じなので省略

$ cat /etc/php/8.1/mods-available/apcu.ini
extension=apcu.so
apc.enable_cli=1
apc.shm_size=512M

のようになればあとはcron.phpを自動で実行するように設定する。

$ sudo crontab -u www-data -e

*/5 * * * * /usr/bin/php -f /var/www/html/nextcloud/cron.php ←書いて保存


参考にしたサイト

いろんなサイトを探し回ったけど結局この二つが有力でした。

あとがき

正直自分もPHPやapachは勉強不足であまり理解できていません。やはり先人たちの知識は偉大なもので将来は自分たちが解決策を提示できるようになりたいですね。

今回も閲覧いただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?