PowerCMS X ブログ

2025-12-19

CacheManager プラグインでキャッシュをリセットできない時の対処法

前回のブログ記事「CacheManager プラグインでキャッシュをリセット・削除する」では、CacheManager プラグインのご紹介をいたしました。

CacheManager プラグインは非常に便利なプラグインなのですが、キャッシュデータの総量が多くなるとリソースやミドルウェア設定などの兼ね合いで『リクエストがタイムアウトになってしまい、キャッシュのリセット・削除が行えない』ケースがあります。

そこで、今回の記事では管理画面でのキャッシュのリセット・削除がタイムアウトしてしまう場合の対処方法を考えてみます。

キャッシュのリセットがタイムアウトで実行できない時の対処法

対応方法 1. ウェブサーバーのタイムアウトの設定値を変更する

ウェブサーバーがタイムアウトを起こしている場合、先ずはウェブサーバー側のタイムアウト設定を調整する事で解消する方法があります。

ウェブサーバーのタイムアウト設定値を調整することで解消すれば万々歳ですが、与えられている権限や制約によってはこちらの対応を行うことが難しい状況も考えられます。

対応方法 2. コマンドラインツールを利用してキャッシュをリセット・削除する

PowerCMS X には便利なコマンドラインツールが標準でいくつも用意されています。

しかし、現在のところ「キャッシュをリセット・削除するコマンドラインツール」は同梱されていません [1]

キャッシュをリセットするコマンドラインツール:clear_cache.php

ということで本題です。

キャッシュをリセットするコマンドラインツール「clear_cache.php」を作成しました。

ダウンロード: clear_cache.zip (1.4KB)

clear_cache.php の使い方

  1. clear_cache.zip をダウンロードする
  2. clear_cache.zip を解凍する
  3. tools_ex フォルダをご利用の PowerCMS X ディレクトリに設置する
  4. SSH でサーバーに接続する
  5. ご利用の PowerCMS X ディレクトリに移動する
  6. clear_cache.php を実行する

clear_cache.php の実行イメージは以下の通りです。

cd /path/to/powercmsx
sudo -u apache php tools_ex/clear_cache.php --cache_id view_compiled,urlmap_compiled

※ 「/path/to/powercmsx」はご利用環境の PowerCMS X 設置ディレクトリに読み替えてください

因みに、PHP コマンドは必ずウェブサーバーの実行ユーザーで実行してください!

実行するユーザーによっては「[FAQ] モデルに追加したカラムが投稿画面に表示はされるがデータが保存されない」といった困った状況になるケースがあります。

ヘルプ

オプションを指定しない、またはオプション「--help」を指定するとヘルプが表示されます。

# sudo -u apache php tools_ex/clear_cache.php
This script will reset and clear the cache.
Options:
    -h, --help : This page.
    --cache_id : The key of the cache to clear.
                 - app_cache
                 - compile_cache
                 - query_cache
                 - plugin_cache
                 - build_cache
                 - view_compiled
                 - urlmap_compiled
                 - user_permissions
                 - expired_sessions
                 - api_cache
Exapmle:
    cd /path/to/powercmsx && php ./tools_ex/clear_cache.php --cache_id app_cache,compile_cache...

リセット・削除するキャッシュの種類

clear_cache.php でもキャッシュ管理画面と同様にリセット・削除したいキャッシュの種類をオプション「--cache_id」で指定します。

オプション「--cache_id」には、キャッシュの ID をカンマ区切りで複数指定できます。

PowerCMS X のキャッシュ種類 「--cache_id」に指定するキャッシュ ID
アプリケーション・キャッシュ app_cache
テンプレート・コンパイルキャッシュ compile_cache
データベース・クエリキャッシュ query_cache
プラグイン・キャッシュ plugin_cache
ビルド・キャッシュ build_cache
コンパイル済ビュー view_compiled
コンパイル済URLマップ urlmap_compiled
ユーザーの権限 user_permissions
期限切れのセッション expired_sessions
APIキャッシュ api_cache

リセット・削除するキャッシュの種類はキャッシュ管理画面を確認するとイメージしやすいと思います。

「キャッシュ管理」画面

おわりに

ということで、今回は「キャッシュをリセットするコマンドラインツール」のご紹介でした。

キャッシュが管理画面からリセット・削除できない時にご活用ください。

脚注

  1. 記事執筆時点で最新バージョンは PowerCMS X ver.4.04 です。[^1]

カテゴリー:プラグイン | 技術情報 | トラブルシューティング

投稿者:たはかし

ブログ内検索

アーカイブ


日本語
ふりがな付き
English
简体中文
繁體中文
한국어