a-blog cms Ver. 3.0 系 の APCuキャッシュに関する不具合について

この記事は公開日より2年以上経過しているため、現在の内容と異なる可能性があります。


a-blog cms Ver. 3.0系で、 APCu というphp共有メモリキャッシュ について問題が見つかりました。 同じphp実行ユーザーで動作させる a-blog cms 環境がサーバー内に複数ある場合、別々の a-blog cms でもキャッシュが共有されてしまう可能性がございます。

対象となる条件 (AND条件)

  • ご利用のサーバーでAPCuが有効の場合
  • 同サーバー内に複数の a-blog cms を設置
  • .envファイルで、キャッシュにAPCuを指定している場合(デフォルト設定)

問題への対応方法1

Ver. 3.0.7 へのアップデートを行う事で、この問題は解消されます。

問題への対応方法2

APCuキャッシュが問題になりますので、APCuキャッシュを利用しないようにします。
ドキュメントルートにある 「.env」 ファイルを編集します。各項目のキャッシュドライバーに 「apcu」 が指定されている場合は、他のドライバーに変更します。

デフォルトの状態だと、以下の3つに 「apcu」 ドライバーが選択されています。

  • テンプレートキャッシュ (ACHE_TEMPLATE_DRIVER)
  • フィールド情報キャッシュ (CACHE_FIELD_DRIVER)
  • 一時キャッシュ(CACHE_TEMP_DRIVER)

これは、他のドライバーに変更します。 テンプレートキャッシュ、フィールド情報キャッシュは、「file」、一時キャッシュは「memory」が推奨です。

# テンプレートのキャッシュをするドライバーを選択します
CACHE_TEMPLATE_DRIVER=file
CACHE_TEMPLATE_NAMESPACE=template
CACHE_TEMPLATE_LIFETIME=2678400

# フィールド情報のキャッシュをするドライバーを選択します
CACHE_FIELD_DRIVER=file
CACHE_FIELD_NAMESPACE=field
CACHE_FIELD_LIFETIME=86400

# 一時キャッシュで利用するドライバーを選択します
CACHE_TEMP_DRIVER=momory
CACHE_TEMP_NAMESPACE=temp
CACHE_TEMP_LIFETIME=10800

この度はご迷惑をおかけしてしまい申し訳ございません。
該当する内容の場合、バージョンアップなどご対応のほどよろしくお願いいたします。
今後とも a-blog cms をよろしくお願いいたします。

同じタグ付けがされている記事