[EC-CUBE4.0.2]プラグインのインストールが出来ずにはまった話
- 公開日:2019/6/14
すごくはまったので、私のように時間を費やすことが無いよう誰かの役に立つことがあればいいなと思いで記録します。
現象
オーナーズストアでプラグインを購入し、プラグイン一覧に表示はされているが、ステータス、アップデート欄に何も表示されておらず、有効化するボタンも表示されていない。
仕方がないので「オーナーズストアから新規追加」をクリックし、インストールしたいプラグインを検索して「入手する」ボタンを押下してみると「システムエラーが発生しました」と表示される。
試しに他のプラグインを検索し「購入する」ボタンを押してみるが同様に「システムエラーが発生しました」と表示される。
念のために「dtb_plugin」テーブルを確認してみるが、中身は空っぽ。
よくある解消方法
プラグインのインストール時のエラーで調べてみた結果、以下のいずれか(または複数)で解消したとの情報を発見したので対応してみましたが、私の環境ではダメでした。
- composer.json、composer.lockに書き込み権限を与える
- memory_limitを128Mから512Mまで増やす
- max_execution_timeを30から180まで増やす
- xdebugを無効にする
完全に手詰まりだったのでインストールをやり直してみましたがそれでも上手くいかず。
PHPのバージョン!?
ここまでやってきたのはエックスサーバーですが、試しにローカル環境にEC-CUBE4.0.2をインストールしてみたところ、すんなりプラグインをインストールすることが出来ました。
上手くいかないエックスサーバーとローカル環境の違いは何だと考えつつ、改めてエラーログをじっくりみてみると・・・
Failed to initialize global composer: Composer could not find the config file: /home/(インストールディレクトリ)/public_html/app/Plugin/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Composerの設定ファイルが見当たらないとか、composer.jsonを作れとか・・・
もしやと思い、EC-CUBE4.0.2のシステム要件を改めて確認してみると、現時点(執筆時点)でのPHP動作確認済みバージョンは「7.1.20」となっています。ところが、私が悪戦苦闘しているエックスサーバーのPHPバージョンは「7.2.17」。
ダメ元でPHPのバージョンを「7.2.17」から「7.1.28」に切り替えてみたところ・・・(それでも動作確認済みバージョンより高いけど)・・・問題解決できました!!!
EC-CUBE4のシステム要件で動作確認されているバージョンをしっかりチェックしておくべきでした。反省!