Nextcloudの警告「OPcache のインターン化文字列バッファがほぼいっぱいです。」

NextCloudをアップデート後に管理画面にアクセスし、「概要」→「セキュリティ&セットアップ警告」を確認すると、警告メッセージが表示されてました。

PHP OPcacheモジュールが正しく設定されていません。
OPcache のインターン化文字列バッファがほぼいっぱいです。
繰り返しの文字列を効果的にキャッシュするために、PHPの設定に “opcache.interned_strings_buffer" を “8" よりも高い値で設定することをおすすめします。
詳細については、ドキュメント↗を参照してください。

Nextcloudの警告メッセージに従って、OPcacheの設定を調整して、「opcache.interned_strings_buffer」の値を 8 より大きくすることで、キャッシュの効果を改善できます

エラーの内容は、PHPのOPcacheモジュールに関することです。OPcacheは、PHPスクリプトを事前にコンパイルしてメモリに保持することで、スクリプトの実行速度を向上させるキャッシュ機構です。

今回のエラーは、OPcacheのキャッシュ領域である「インターン化文字列バッファ」がほぼいっぱいになっていることを示しています。このバッファは、PHPスクリプト内で繰り返し使用される文字列を効率的にキャッシュするために使用されます。

メッセージの指示に通りに、「opcache.interned_strings_buffer」 の値を調整して、「」より大きい数字に設定することで、キャッシュ効率が改善できます。手順は以下の通りです。

1.php.ini等の設定ファイル内にある「opcache.interned_strings_buffer」の値を8以上に設定します。私の環境では、php.iniではなく「/etc/php.d/10-opcache.ini」に「opcache.interned_strings_buffer」の設定あるので、そちらを編集します。下記では「16」に設定しています

$ sudo vim /etc/php.d/10-opcache.ini
; The amount of memory for interned strings in Mbytes.
;opcache.interned_strings_buffer=8 下記に変更

opcache.interned_strings_buffer=16

2.apache, php-fpmを再起動します

# webサーバを再起動
$ sudo systemctl restart apache2  # Apacheの場合
$ sudo systemctl restart nginx    # Nginxの場合

# php-fpm を再起動
$ sudo systemctl restart php-fpm

3.管理画面にアクセスして警告メッセージが消えていればOKです