LUNARAVE WEBクリエーターの仕事と休息

アクセスカウンタ

help リーダーに追加 RSS バックアップ時にエラーか真っ白になる -EC-CUBE-

<<   作成日時 : 2007/03/28 12:43   >>

トラックバック 0 / コメント 0

クライアントのECサイトとしてオープンソースの"EC-CUBE"を利用している。


 EC-CUBE

現在はVPSサーバ"ラピッドサイト"にてカスタマイズテストを行い、各クライアントサーバに実装している。

尚、現在使用しているバージョンは"1.1.1"である。


公式サイトではバックアップ時の不具合が何件か寄せられている。

バックアップファイル作成時にエラーが出るか画面が真っ白になる現象だ。
私はどちらも経験があるが、使用するサーバによって現象が出たり出なかったりする。


まずエラーに関してだが、バックアップすると以下が表示される。

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 45 bytes) in *******/pgsql.php on line 415



これはPHPの使用できるメモリ容量が足らないので出るものだ。

PHPの設定ファイルを変更できるのならphp.iniの"max_execution_time"と"memory_limit"の値を上げてみる。

すると次に画面が真っ白の状態になる。

 ブラウザ


ソースを見ても手がかりがなく、全く検討もつかない。


私が手がけたEC-CUBEはクライアント独自の機能が多く、DB構成も異なるためこの辺かと思い「/html/admin/system/bkup.php」を一つずつ調べていくことにした。


バックアップ時にはアップされている画像やDBの構成・レコードがエクスポートされる。

ソースを見るとどうやらDBの構成に関係なく全て取得しているので独自のカスタマイズをしていても問題ない。

そこで、各テーブルレコードの取得部分をさらに詳しく見てみると、ある部分でつまずいた。


郵便番号テーブルか・・・




この郵便番号テーブルのおかげで郵便番号から都道府県・市町村・町名の変換ができるのだが、日本国内全てのデータが入っているため非常に容量が大きい。

どうやらPHP.iniで値を変えてもこのデータを取得する時点でサーバ側で処理を止めてしまうようだ。
まぁ、理由がわかれば納得できる現象だ。


「/html/admin/system/bkup.php」のDBエクスポート処理に手を加えることで解決した。


if ($val != "dtb_bkup") {






if ($val != "dtb_bkup" && $val != "mtb_zip") {



 バックアップ


これで郵便番号DBのデータ以外はバックアップできるようになった。

そもそも郵便番号DBは管理画面から別途インポートする機能があるのでバックアップを取る必要もないだろう。


EC-CUBEのバージョンも1.2.0が正式公開されようとしている。
カスタマイズしていてもバージョンアップできるように準備しておかなければならない。

設定テーマ

注目テーマ 一覧

月別リンク

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
WEB技術関連
EC-CUBE関連
ソフトウェア関連