結論:ファイルの解凍は正しく行いましょう!!!!

EC-CUBEのインストール中にエラー・・・と思いきや

ダウンロードしたEC-CUBEの解凍がおかしかったらしく、それをアップロードしたものだからインストールで躓いてしまいました・・・

ゆっくり解凍してアップロードしなおしたらすんなり作業完了・・・今までのは、なんだったんだ・・・

教訓:作業はゆっくり確実に!!!!!!

—– 下記、本日書いていたのですが、解凍が原因でした・・・ —–

元のタイトル:ハマった・・・と思った EC-CUBE でインストール中 PHP Fatal error: Class ‘MDB2’ not found

しかし、解凍したはずのファイル群がおかしかっただけでした…

の顛末…

EC-CUBEをさくらVPSにインストールしていた時、こんなエラーでインストール中断・・・

エラーログには

PHP Fatal error: Class ‘MDB2’ not found

の文字が。

いろいろ調べたらPHP5.5リリースに伴いMySQL関数が非推奨となったところでEC-CUBEもMySQL関数をMDB2経由で利用するようになったそうです。

下記、記事のウケウリです・・・
参考にしてください。

EC-CUBE で MySQL 改良版拡張モジュールを使用する.

で、MDB2をインストールすればいいんだな・・・ってわけで
コンソールから

pear install MDB2-beta

って打ってみたら・・・

pear/MDB2 is already installed and is the same as the released version 2.5.0b5
install failed

あれれ、入っている???

そしてドライバも・・・ってことで

pear install MDB2_Driver_mysql-beta

って打ってみたら・・・こちらも

pear/MDB2_Driver_mysql is already installed and is the same as the released version 1.5.0b4
install failed

あれれ、入っているらしい・・・

でもインストール再開すると以前として
画面が真っ白になり(PHPのエラー出さないようにしているから)
エラーログに
MDB2が使えない・・・旨のエラーが。

仕方がないから install/index.php に細工してみました。

今回のバージョンは EC-CUBE 2.13.2 です。

【eccube/html/install/index.php 28行目あたりから】

・・・(前略)
define('HTML_REALDIR', $GLOBALS['_realdir']);

// MDB2 upd
require_once('MDB2.php'); // MDB2を使うための宣言

require_once HTML_REALDIR . 'define.php';
(後略)・・・

この変更で、なんとかインストール続行・・・

そしたら次は・・・こんなエラーが。

#PHP Parse error: syntax error, unexpected end of file in /~/data/module/PEAR.php on line 46, referer: https://~/install/?
#PHP Stack trace:, referer: https://~/install/?
#PHP 1. {main}() /~/install/index.php:0, referer: https://~/install/?
#PHP 2. SC_ClassAutoloader::autoload() /~/install/index.php:0, referer: https://~/install/?
#PHP 3. include() /~/data/class/SC_ClassAutoloader.php:128, referer: https://~/install/?

えええ?
モジュールで入っているPEAR.phpがエラー??

見てみたらエラーは最後の行をしていしてあって・・・
あれれ、閉じカッコがないよ。

というわけで }(※半角で) を最終行に追加。

インストール完了しました。

これって普通にもう一回やれば良いような感じもするんですが、なにかあったときのために残しておきます・・・。

※ここに書いてあることはそもそも変かもしれません。自己責任でやりましょう。

この記事が気に入ったら
いいね ! しよう

Twitter で