LoginSignup
32
34

More than 3 years have passed since last update.

EC-CUBE4系でプラグインインストール時にエラーが出た時の対処法

Last updated at Posted at 2019-04-24

プラグインインストール時のエラーを防止する方法 も書きましたので、合わせてご覧ください

EC-CUBE4 になって、プラグインの管理方法が大きく変わりました。
これに伴い、共有レンタルサーバーなど、リソースの少ない環境では以下のような問題が発生する場合があります。

プラグインのインストール時に高負荷な状態が発生し、OOM Killerでhttpdのプロセスが殺される。そのため、プラグインのインストールが完了しない。

https://github.com/EC-CUBE/ec-cube/issues/4142

インストール時以外に、有効化/無効化時、アンインストール時にも発生します。
これらの処理が完了しない場合、以下のような状態となります

  • 「インストール完了」の表示になっても、「有効/設定」ボタンが表示されない
  • システムエラーになる
  • PHPエラー画面が表示される
  • レスポンスが十数分返ってこない

対処法

対処方法はケースバイケースになりますが、以下の順で試してみることをおすすめします

Symfony のキャッシュクリア

管理画面→コンテンツ管理→キャッシュ管理からキャッシュクリアする

管理画面が開かない場合は、以下のいずれかをお試しください。
(キャッシュの強制削除は自己責任で...)

## Symfony コマンドでのキャッシュクリア
bin/console cache:clear --no-warmup
## キャッシュの強制削除
rm -rf /path/to/ec-cube/var/cache/*

Composer クラスマップの再生成

こちら を参考に、 Composer コマンドをインストールしておいてください

php composer.phar dumpautoload

上記コマンド終了後、 Symfony のキャッシュクリアを実施してください

Composer install コマンドの再実行

php composer.phar install

コマンドラインでのプラグインの再インストール

管理画面からインストールに失敗しても、コマンドラインからインストールできる場合があります。

## クラスマップが壊れている場合は再生成(オプション)
php composer.phar dumpautoload

## エラーになっているプラグインを一旦削除
bin/console eccube:composer:remove ec-cube/<PluginCode>

## 再インストール
bin/console eccube:composer:require ec-cube/<PluginCode>

## 有効化
bin/console eccube:plugin:enable --code <PluginCode>

既に運用中の場合は、プラグインをアンインストールすることによりデータが削除されてしまう恐れがあります。必ずデータベースのバックアップを取得したあと、上記コマンドの実行をお願い致します。

何度か繰り返す

プラグインインストール/有効化/無効化 時のエラーは、確実に再現性のあるものではなく、うまくいく場合もあります。
何度か繰替えしてみることをおすすめします。

これらを実行しても解消しない場合は、エラーログやエラー画面のスクリーンショットとともにコメント覧にてお知らせください。

32
34
12

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
34