XSERVERでエントリーを編集したのに古い情報が表示される(a-blog cms Ver. 3.0系)

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

レンタルサーバーのXSERVERで、a-blog cms Ver. 3.0.x を動かしている環境で、エントリーを編集したのに、古い情報が表示される問題が確認されております。

原因

キャッシュドライバーの「APCu」が原因で、XSERVERのある特定の環境の場合、キャッシュがPHPプロセス毎にキャッシュされてしまい、ランダムに古い情報が返ってきてしまいます。

再現する環境

  • a-blog cms Ver. 3.0.0 以上
  • キャッシュドライバーに「APCu」を指定している場合(デフォルト)
  • XSERVERの「Xアクセラレータ」が OFFまたは「Ver. 1」の場合

対策1

おすすめの対策は、XSERVERのコントロールパネルにログインし、「Xアクセラレータ Ver. 2」 を有効にする方法です。パフォーマンスもよくなりますので、a-blog cms Ver. 3.0.0 以上をXSERVERでお使いの場合は是非ご利用ください。

対策2

キャッシュドライバーに「APCu」を利用しない方法でも解決できます。「.env」ファイルを編集して「APCu」を利用しないようにします。

# テンプレートのキャッシュをするドライバーを選択します
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=memory
CACHE_TEMP_NAMESPACE=temp
CACHE_TEMP_LIFETIME=10800

XSERVERは a-blog cms の動作環境としてもお勧めしているサーバー環境ですので、現状お手数ですが a-blog cms Ver. 3.0.0 以上をお使いの場合は、必ず「Xアクセラレータ Ver. 2」を指定するようにお願いいたします。

今後とも a-blog cms をよろしくお願いいたします。

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