バージョン選択

フォーラム

メニュー

オンライン状況

61 人のユーザが現在オンラインです。 (53 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 61
もっと...

サイト内検索

プラグイン > その他 > プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mente119
投稿日時: 2021/5/12 10:29
対応状況: −−−
半人前
登録日: 2021/4/14
居住地:
投稿: 13
プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
[EC-CUBE] EC-CUBE4.0.5
[レンタルサーバ] GCP
[OS] Linux
[PHP] PHP Version 7.3.27
[データベース] Postgresql 10
[WEBサーバ] Apache/2.4.25 (Debian)
[ブラウザ] Chrome 89.0.4389.114

お世話になっております。ECCUBE4環境で表題の現象が発生しているため、解決にご助力いただきたい次第です。

[現象]
プラグインを削除するとECCUBE全体がServerErrorで動作しなくなる。

対象プラグイン
商品おすすめ順並び替えプラグイン for EC-CUBE4
ProductDisplayRank4

やったこと
管理画面からのプラグイン削除は正常に行えなかったため、以下手順で手動にて削除を実施。

下記URLの手順を参考にプラグイン削除を実施。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=22508&forum=19

1. dtb_pluginにインストールしていたプラグインのレコードがある場合は削除する
2.「app/Plugin」にプラグインのディレクトリが残っている場合は削除する
3. composer.jsonから該当のプラグインの記述を削除する
4. コマンドで「bin/console eccube:generate:proxies」を実行してproxieを再生成する

手順1、DBからの削除は正常に完了。管理画面から見ると未インストール状態になりました。
手順2、プラグインをサーバ上から削除した途端ServerErrorにてECCUBE全体が停止状態になってしまいました。

対象プラグインの記述が以下ファイルにあったため、その箇所をコメントアウトし再度手動にて削除実施するも同様にServerErrorが発生。
\app\proxy\entity\src\Eccube\Entity\Product.php

use \Plugin\ProductDisplayRank4\Entity\ProductTrait;


プラグインの正常削除まで行いたいです。

468
投稿日時: 2021/5/12 13:19
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
とりあえず手順3.4.まで終わらせて確認されてみては如何でしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

mente119
投稿日時: 2021/5/12 16:12
対応状況: −−−
半人前
登録日: 2021/4/14
居住地:
投稿: 13
Re: プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
468様

ご連絡ありがとうございます。
失礼しました。記載が足りておりませんでした。

1. dtb_pluginにインストールしていたプラグインのレコードがある場合は削除する
2.「app/Plugin」にプラグインのディレクトリが残っている場合は削除する
3. composer.jsonから該当のプラグインの記述を削除する
4. コマンドで「bin/console eccube:generate:proxies」を実行してproxieを再生成する

手順1、DBからの削除は正常に完了。管理画面から見ると未インストール状態になりました。
手順2、プラグインをサーバ上から削除した途端ServerErrorにてECCUBE全体が停止状態になってしまいました。

手順3、4実施し
手順3、composer.jsonから該当のプラグインを削除しました。
手順4、コマンドは通りました。

その後手順2でプラグインをサーバ上から削除を実施しても、削除した瞬間から同じようにServerErrorが発生する状態です。
468
投稿日時: 2021/5/13 14:34
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
私の認識では、
手順2でプラグインをサーバ上から削除
でファイルがサーバから無くなってエラーが起こるので、そのエラーを解消する為に
手順3、手順4を行うものと思っています。
(サーバ上に存在するECCUBEが自動生成したproxieクラスに該当プラグインのファイルがなくなった事を伝えて再構築させる)

なのでワンステップづつ挙動を確認するのではなく、2〜4までは続けて操作する必要があると思います。
手順4で作業は終わりだと思うのですが、そのあと手順2を実行されたのはプラグインのファイルが削除できてなかったのでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

mente119
投稿日時: 2021/5/14 9:24
対応状況: −−−
半人前
登録日: 2021/4/14
居住地:
投稿: 13
Re: プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
468様

ご返信ありがとうございます。

手順2、で削除(※)し、手順3、4を実施してもエラーが引き続き発生しておりました。

手順2で削除(※)したタイミングで発生したため、そのプラグインが起因するものと思い、削除(※)したプラグインを元のディレクトリへ戻すとエラーが収まる、といった感じです。

(※)ここでの削除というのは、念の為ファイル削除ではなく関係のない/tmpへ移動しております。


468
投稿日時: 2021/5/14 10:39
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
>手順2、で削除(※)し、手順3、4を実施してもエラーが引き続き発生しておりました。

そこまで操作してもエラーが発生するという事は、まだどこかにプラグインのファイルを参照するような記述が残っているのでしょうか?
エラーのログにはエラーが発生している箇所が分かるような表示は無いでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

mente119
投稿日時: 2021/5/14 11:12
対応状況: −−−
半人前
登録日: 2021/4/14
居住地:
投稿: 13
Re: プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
468様

プラグイン参照の記述ですが、以下部分のみでした。
\app\proxy\entity\src\Eccube\Entity\Product.php

この時、「Product.php」ファイルを/tmpへ動かしただけでも同じようにServerErrorとなりました。

ログには以下の内容が大量に記載されておりました。
(その他ログは流れてしまい、残っておりませんでした。)

[2021-04-30 06:50:30] front.ERROR [N/A] [476c18e] [N/A] [Eccube\Log\Logger:log:66] - システムエラーが発生しました。 ["Property Eccube\\Entity\\Product::$display_rank does not exist","/var/www/html/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php",63,"#0 /var/www/html/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php(63): ReflectionProperty->__construct('Eccube\\\\Entity\\\\P...', 'display_rank')\n#1 /var/www/html/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php(964): Doctrine\\Common\\Persistence\\Mapping\\RuntimeReflectionService->getAccessibleProperty('Eccube\\\\Entity\\\\P...', 'display_rank')\n#2 /var/www/html/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(750): Doctrine\\ORM\\Mapping\\ClassMetadataInfo->wakeupReflection(Object(Doctrine\\Common\\Persistence\\Mapping\\RuntimeReflectionService))\n#3 /var/www/html/vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php(181): Doctrine\\ORM\\Mapping\\ClassMetadataFactory->wakeupReflection(Object(Doctrine\\ORM\\Mapping\\ClassMetadata), Object(Doctrine\\Common\\Persistence\\Mapping\\RuntimeReflectionService))\n#4 /var/www/html/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(285): Doctrine\\Common\\Persistence\\Mapping\\AbstractClassMetadataFactory->getMetadataFor('Eccube\\\\Entity\\\\P...')\n#5 /var/www/html/var/cache/prod/ContainerNvnxdrx/EntityManager_9a5be93.php(53): Doctrine\\ORM\\EntityManager->getClassMetadata('Eccube\\\\Entity\\\\P...')\n#6 /var/www/html/vendor/doctrine/doctrine-bundle/Repository/ServiceEntityRepository.php(39): EntityManager_9a5be93->getClassMetadata('Eccube\\\\Entity\\\\P...')\n#7 /var/www/html/src/Eccube/Repository/ProductRepository.php(54): Doctrine\\Bundle\\DoctrineBundle\\Repository\\ServiceEntityRepository->__construct(Object(Doctrine\\Bundle\\DoctrineBundle\\Registry), 'Eccube\\\\Entity\\\\P...')\n#8 /var/www/html/var/cache/prod/ContainerNvnxdrx/EccubeProdProjectContainer.php(3030): Eccube\\Repository\\ProductRepository->__construct(Object(Doctrine\\Bundle\\DoctrineBundle\\Registry), Object(Eccube\\Doctrine\\Query\\Queries), Object(Eccube\\Common\\EccubeConfig))\n#9 /var/www/html/var/cache/prod/ContainerNvnxdrx/EccubeProdProjectContainer.php(3094): ContainerNvnxdrx\\EccubeProdProjectContainer->getProductRepositoryService()\n#10 /var/www/html/var/cache/prod/ContainerNvnxdrx/EccubeProdProjectContainer.php(2797): ContainerNvnxdrx\\EccubeProdProjectContainer->getEccubeExtensionService()\n#11 /var/www/html/var/cache/prod/ContainerNvnxdrx/EccubeProdProjectContainer.php(2870): ContainerNvnxdrx\\EccubeProdProjectContainer->getTwigService()\n#12 /var/www/html/var/cache/prod/ContainerNvnxdrx/EccubeProdProjectContainer.php(2423): ContainerNvnxdrx\\EccubeProdProjectContainer->getMobileTemplatePathListenerService()\n#13 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(231): ContainerNvnxdrx\\EccubeProdProjectContainer->ContainerNvnxdrx\\{closure}()\n#14 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(61): Symfony\\Component\\EventDispatcher\\EventDispatcher->sortListeners('kernel.request')\n#15 /var/www/html/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php(129): Symfony\\Component\\EventDispatcher\\EventDispatcher->getListeners('kernel.request')\n#16 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(43): Symfony\\Component\\EventDispatcher\\ContainerAwareEventDispatcher->getListeners('kernel.request')\n#17 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(127): Symfony\\Component\\EventDispatcher\\EventDispatcher->dispatch('kernel.request', Object(Symfony\\Component\\HttpKernel\\Event\\GetResponseEvent))\n#18 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#19 /var/www/html/vendor/symfony/http-kernel/Kernel.php(200): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#20 /var/www/html/index.php(76): Symfony\\Component\\HttpKernel\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#21 {main}"] [, , , , ]
468
投稿日時: 2021/5/14 13:58
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
あとはキャッシュのクリアが必要かもしれません。
エラーで管理画面が操作できなくなっていると思いますので
/var/www/html/var/cache/prod/以下のファイルを手動で削除する必要があるのではないでしょうか?

リンク先ページのコマンドからキャッシュクリアの操作でキャッシュのクリアが実行できるかと思います。
https://doc4.ec-cube.net/plugin_error


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

mente119
投稿日時: 2021/5/14 19:28
対応状況: −−−
半人前
登録日: 2021/4/14
居住地:
投稿: 13
Re: プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
468様

ご連絡ありがとうございます。再度実施いたしましたので結果をご報告いたします。

1. dtb_pluginにインストールしていたプラグインのレコードがある場合は削除する
DBから該当のプラグインを削除→管理画面の一覧からは消える。

2.「app/Plugin」にプラグインのディレクトリが残っている場合は削除する
/app/Plugin/から該当プラグインを削除(/tmpへ移動。)→この時点でServerError発生。

3. composer.jsonから該当のプラグインの記述を削除する
以前削除したため、記載なし。

4. コマンドで「bin/console eccube:generate:proxies」を実行してproxieを再生成する
\app\proxy\entity\src\Eccube\Entity\Product.phpの31行目でエラー発生。

use \Plugin\ProductDisplayRank4\Entity\ProductTrait; 該当箇所をコメントアウト、コマンドは正常に完了。

/var/www/html/var/cache/prod/配下を手動にて削除。→ServerError解消せず。
念の為コマンド「bin/console cache:clear --no-warmup」も実行したが、解消されず。

でした。

戻し作業としましては
use \Plugin\ProductDisplayRank4\Entity\ProductTrait; 該当箇所をコメントアウト削除。
/tmp/から/app/Plugin/へ該当プラグインのディレクトリを戻す。
でServerError解消されております。

作業時のログがサーバ再起動と同時に消えてしまったため、ログが取得できていない状況です。
468
投稿日時: 2021/5/17 12:19
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: プラグインを削除するとECCUBE自体がServerErrorで動作しなくなる。
>4. コマンドで「bin/console eccube:generate:proxies」を実行してproxieを再生成する
>\app\proxy\entity\src\Eccube\Entity\Product.phpの31行目でエラー発生。
>
>use \Plugin\ProductDisplayRank4\Entity\ProductTrait; 該当箇所をコメントアウト、コマンドは正常に完了。

\app\proxy\entity\src\Eccube\Entity\Product.php
を削除してからコマンドを実行するとどうなるでしょうか?

Product.phpは一旦、どこかにバックアップを取って試してみてください。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,308名です
総投稿数は109,693件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.