インストール時のメッセージってなにかと不安を煽ってきますよね?(笑)
今回はEC-CUBE3のインストール時に発生しがちな、
[必須] fileinfo 拡張モジュールが有効になっていません。 システム要件をご確認ください。
を解決する方法をお伝えします。
インストール環境
今回ローカル開発環境へのインストール時に発生したので、その時の環境をおさらい。
OS | Windows 10 Pro |
XAMPP | バージョン 3.2.2 |
Apache | バージョン 2.4.18 |
PHP | バージョン 7.0.1 |
データベース | MariaDB 10.1.9 (Mysql互換) |
ちなみに、その時の記事はこちら。
問題のメッセージ画面
これです。
インストール用URLを叩くと表示される「ようこそ」画面でいきなり怒られています。
ちなみに、インストールURLは
[EC-CUBE3のインストール先URL]/html/install.php/
で表示されます。
“必須”ということは「動かいないよ」ってこと。
どうやら、必須なPHPライブラリというものが存在するらしい。
そもそも”必須”なPHPライブラリって?
てことですが、現在”EC-CUBE3″では下記が必須PHPライブラリだそうです。
- pgsql / mysql / mysqli (利用するデータベースに合わせること)
- pdo_pgsql / pdo_mysql / pdo_sqlite (利用するデータベースに合わせること)
- pdo
- phar
- mbstring
- zlib
- ctype
- session
- JSON
- xml
- libxml
- OpenSSL
- zip
- cURL
- fileinfo
僕の場合、最後の「fileinfo」でひっかかった様子。
解決策
動かぬのなら解決せねばと、いろんなサイトを巡ってみると php.ini をいじればよいと神の啓示。
さすが情報の海。助かる。
php.ini の編集
今回はXAMPP環境だったので僕の場合は「C:\xampp\php\php.ini」でした。
本番環境下では場所が異なるので、それぞれ探しましょう。
修正箇所は以下のコメントアウトを外せばOKです。
extension=php_fileinfo.dll
「extension=php_pdo_pgsql.dll」や
「extension=php_pgsql.dll」
のコメントアウトを外しなさい等言っていることがありますが、これは使っているDBによって変わるので何でもかんでもコメントアウトを外すのはやめましょう
最終チェック
修正が完了したので、XAMPPのApacheを”Stop”→”Start”で再起動。
インストール画面をリロードしてみる。
(一応今回はローカル環境だし)
まとめ
最初はエラーメッセージに身構えてしまいましたが、ふたを開けてみれば意外と簡単でしたね。
今回の「fileinfo」以外のPHPライブラリに関しても調べましたが、基本的に”php.ini”に記載されているみたいなので、今回以外の必須系エラーメッセージが表示された場合でも”php.ini”から該当箇所を探してコメントアウトを外せば対応可能な気がします。
これでまた一つ知識を蓄積できました(‘ω’)ノ
僕の場合「PHPライブラリ」って聞くだけで敬遠したくなる性格なのですが、いざという時のために「どんなライブラリを使っているのか」だけでも知っておくといいかもしれませんね♪