ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × NextcloudのoccでOCP\HintExceptionが発生した 自鯖のNextcloudを23に更新し、occ db:add-missing-indicesを実行しようとしたらOCP\HintExceptionなる例外が発生した。 $ sudo -u www php /path/to/occ db:add-missing-indices 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?) occ単発で動かしても同様で、根本的に何かが悪いっぽい。 助けて~ぐーぐるせんせーってことで、ググったら公式にそれっぽいissueが上がっていた。 いわく、apc.enable_cli=1を付けて実行する必要があるとのこと。APCuを明示的に有効化する必要がある雰囲気?とりあえず言われたとおりにやってみる。 $ sudo -u www php --define apc.enable_cli=1 /path/to/nextcloud/occ db:add-missing-indices Check indices of the share table. (中略) oc_properties table updated successfully. 無事動いた。 改めてNextcloudのマニュアルを見てみると、Memory cachingのAPCuのところにちゃんと書いてあった。 デフォルトではCLIからの実行時はAPCuが無効化されているそうで、明示的に有効化しなきゃならんとのこと。NextcloudのCronジョブにも影響するので、そっちの方も個別に対応するか、php.iniに先のapc.enable_cli=1を追加しておく必要がある。 なるほどなー、だから管理画面に「長期間バックグラウンドジョブが動いていないようです」メッセージが表示されてたのかー。 参考サイト 21.0.3 OC\HintException: Memcache \OC\Memcache\APCu not available · Issue #27781 · nextcloud/server · GitHub Memory caching — Nextcloud latest Administration Manual latest documentation Nextcloudのプレビューの文字化けを直す Web版Nextcloudで表示されるテキストファイルのプレビュー画像が文字化けしてたので直してみた。 やることは、プレビュー生成で使っているフォントをNotoSansCJKに変更するだけ。手順は↓こんな感じ。 https://github.com/minoryorg/Noto-Sans-CJK-JP/tree/master/fonts から NotoSansCJKjp-Regular.ttf をダウンロード DLしたフォントを Nextcloudのインストール先/core/fonts に入れる 上記フォルダでNotoSansCJKjp-Regular.ttfをNotoSans-Regular.ttf (Nunito-Regular.ttf)にリネームする(シンボリックリンクでも可) Nextcloudの標準フォントに、日本語のグリフが含まれていないのが原因のようだ。当初は文字コード周りかと思ってたが、プレビューをよく見ると“豆腐”になっていることが分かる。 プレビューの生成はファイルが変わった時に行われるようなので、てきとーにファイルを編集すれば正常な表示になるはず。 もう少し詳しく解説すると、テキストファイルのプレビューの生成はlib/private/Preview/TXT.phpで行われており、80行目あたりでNotoSans-Regularが指定されている→GitHub/master Notoなのに何で文字化け…?と思ったのだが、同梱のNotoには日本語のグリフが含まれていないようだ。ついでに、Notoが使われるようになったのはごく最近で、以前はNunitoが使われていたようだ→GitHub/Move font from Nunito to Noto Sans というわけで、使ってるNextcloudのバージョンに応じて、NotoSans-Regular.ttfもしくはNunito-Regular.ttfを日本語グリフを含むフォントに差し替えればおkというわけ。 start.txt 最終更新: 2022-07-27 15:26by Decomo