Help us understand the problem. What is going on with this article?

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

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

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>

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

何度か繰り返す

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

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

nanasess
Emacs のアイコンを作った人です
https://skirnir.co.jp
ec-cube
日本No.1ECオープンソースのEC-CUBEのコミッターやユーザーのコミュニティです。
http://www.ec-cube.net
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした