本日公開されたセキュリティパッチ「SUPEE-10415」ですが、適用する際にはセキュリティパッチ「SUPEE-8788」の適用をしっかり行っておく必要があります。

どういうことが発生するか

SUPEE-8788の適用がうまくできていない場合、以下のようなエラーが発生する可能性があります。

  • 商品がカートに入らない
  • 管理画面でカタログ価格ルールの詳細ページを開けなくなる

 

エラー内容としてはログに以下のようなものが出力される状態になります。

Exception message: Unsupported data type N 

 

なぜこういう事象が発生するか

 通常順番通りにセキュリティパッチの適用をしていれば問題はありませんが、「SUPEE-8788」については、少し手順が複雑になります。

「SUPEE-8788」の適用順序としては、

  1. PATCH_SUPEE-8788_CE_1.9.2.4_v1-2016-10-11-07-03-46.sh を適用する
  2. PATCH_SUPEE-8788_CE_1.9.2.4_v1-2016-10-11-07-03-46.sh -R で一度戻す
  3. PATCH_SUPEE-8788_CE_1.9.2.4_v2-2016-10-14-09-42-47.sh を適用する

ですが、なんらかの拍子で上記1、2を省略して3を行うことができてしまいます。

v2が適用できているため、以降のセキュリティパッチは正常に適用できますが、今回の「SUPEE-10415」適用後に「SUPEE-8788」で作成されるはずだったクラスファイルや修正されるプログラムが修正されておらず、今回のようなエラーが発生してしまいます。

解決方法

上記のようになってしまった場合は、一度3の時点までソースコードを戻し、

  1. PATCH_SUPEE-8788_CE_1.9.2.4_v2-2016-10-14-09-42-47.sh -R で一度戻す
  2. PATCH_SUPEE-8788_CE_1.9.2.4_v1-2016-10-11-07-03-46.sh を適用する
  3. PATCH_SUPEE-8788_CE_1.9.2.4_v1-2016-10-11-07-03-46.sh -R で一度戻す
  4. PATCH_SUPEE-8788_CE_1.9.2.4_v2-2016-10-14-09-42-47.sh -R で再度適用する
  5. 以降のパッチを順次適用する

という手順が必要になります。

 パッチのみならず、いざというときにソースコードを戻すことができるようバージョン管理は怠らないように注意が必要です。