magento: 入れてはいけないエクステンション 

magentoには非常に多くのエクステンションがある。一般的にそれなりの機能を有したネットショップを作成する場合いくつかのエクステンションを入れなければ機能も見栄えも良いショップを構築できないのが現状である。
最近日本のものも多くなってきたが元々はアメリカで生まれたソフトなので英語のエクステンションが多い。

そんなわけでいろいろなプログラムを入れたり出したりしていたが、ある時急にバックグラウンドの一部にエラーメッセージが出てアクセスできなくなった。

hai01


上記のような画面である。調べてみるとインストール時に起こるエラーの一つであるようだが、当方の場合はすでにインストールは終えてもうすぐ店開き的な時期なのでなぜ今頃そんなメッセージがでるのか不明であった。
対処法はいくつかあったので試したがなかなかエラーメッセージが消えない。

その対処方法の一つとして lib/Zend/Cache/Backend にある File.php の下記部分を

hai02
 

以下の様に書き換えるというものである。

'cache_dir' => 'tmp/',

キャッシュのディレクトリを指定してやるわけだが、この場合注意点としてmagento をインストールしたrootデレクトリに tmp フォルダを作ってやらないとエラーが出たままの状態になる。
存在しないのディレクトリに書き込みをさせようとするので当然エラーになるわけだ。

さて、この一連の作業をしても復旧しなかった。で、ログを調べていくとあるエクステンションをアンインストールした後から始まった。

Temando Shipping Extension 2014

そのエクステンションは、発送関係のプログラムであり、これをアンインストールした後からエラーが出始めたのである。バックグラウンドの一部がエラー画面で見えなくなりバックアップしたシステムもリストアできなくなった・・手動でやればいいんだけど面倒だからもっと手間のかからない方法を探していたわけだ。まだ、magentoコネクトが使えたので一度アンインストールした上記エクステンションを再インストールし直した。
すぐにエラーメッセージは消えて戻った。この時点でキャッシュを全てクリアにしてシステムとデータベースのバックをしたのち再び問題のエクステンションを削除。そしたらある商品管理でダウンロード商品の一部分でエラーが出ていた。

"temando_packaging_mode"

が見当たらない、というものであった。データベースがらみであるので、phpMyadmin にて、以下の sql 文を実行して、データベース内に残っている temando 関係のものをすべてクリアにした。

 delete from eav_attribute where source_model like "temando%"
以後問題なく動作しているが、課題として

1.裏方にも入れなかった時の速やかなシステムの復旧方法を考えておかねばならない。
 一つには、magentoの本家でダウンできる

 Database Repair Tool
があるが、「速やかに・」と条件を付ける場合、日ごろから復旧の予行演習でもしてないとなかなか難しい。

2.エクステンションをインストする前には必ず、全てのバックアップをしておくのは当然なのだが、そのバックアップがどこにあるのか、という問題が出てくる。
 FTPであちこちの迷路をさ迷い歩くのは大変なので日ごろからバックアップされた場所を把握しておくべきである。

/var/backups

に収められている。magento の システム > ツール > バックアップ から リストアすることは簡単だが、ここが使えないときに如何に速やかに復旧するのか、というのが今回の課題である。

 

About

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です