PHP OPcacheのキャッシュをクリアには?
PHP OPcacheのキャッシュする
NextCloudを利用していますが、管理画面にログインにすると「OPcache のインターン化文字列バッファがほぼいっぱいです。」と表示されます。「opcache.interned_strings_buffer」の値を大きく設定しても警告メッセージが表示されます。
設定で対応してもしばらくすると、同様のメッセージが表示されるのでOPcacheのキャッシュを手動でクリアーする方法を確認しました
opcache_reset()関数を使用する
PHPスクリプト内でキャッシュをクリアするには、opcache_reset()関数を使用する
1.下記のようなPHPスクリプトを作成します。
<?php if (function_exists('opcache_reset')) { opcache_reset(); echo "OPcache cleared successfully."; } else { echo "OPcache is not enabled."; } ?>
2.作成したスクリプトをWebサーバー上で実行するか、phpコマンドで実行する上記の
# 該当プログラムをWEBサーバーに配置して、webブラウザでアクセスする URL:http://your-server/clear_opcache.php # 該当プログラムを保存して、phpコマンドで実行 $ php /home/admin/clear_opcache.php
PHP-FPMを再起動する
OPcacheのキャッシュはPHPプロセスのライフサイクルに依存するため、PHP-FPMを再起動するとキャッシュがクリアされます。
# PHP-FPMを再起動すれば、OPcacheのキャッシュはクリアされます $ sudo systemctl restart php-fpm
ディスカッション
コメント一覧
まだ、コメントがありません