バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > 1サーバーに複数環境を構築した場合に、他環境に影響が出る可能性について

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
asana
投稿日時: 2020/12/3 13:27
対応状況: −−−
半人前
登録日: 2018/7/6
居住地:
投稿: 11
1サーバーに複数環境を構築した場合に、他環境に影響が出る可能性について
▼テンプレート
[EC-CUBE] EC-CUBE4.0.4
[レンタルサーバ] AWS


1つのサーバに、本番環境とテスト環境を構築しています。
各環境はVirtualHostで別ディレクトリに分けています。

この状態で、テスト環境にDB更新を伴うカスタマイズをリリースしたところ、
本番環境側で、以下のエラーが発生しました(パスなどはダミーで書き換えています)。
※コード貼り付けだと1行になってしまうので、引用にしてます。

テスト環境には「new_property」を追加するカスタマイズを入れています。

引用:
[2020-12-03 12:19:01] admin.ERROR [e681be2a] [94f871c] [1] [Eccube\Log\Logger:log:64] - システムエラーが発生しました。 ["Property \"new_property\" does not exist in class \"Customize\\Entity\\NewEntity\".","/var/www/vhosts/example.com/vendor/symfony/validator/Mapping/PropertyMetadata.php",84,"#0 /var/www/vhosts/example.com/vendor/symfony/validator/Mapping/MemberMetadata.php(168): Symfony\\Component\\Validator\\Mapping\\PropertyMetadata->newReflectionMember(false)\n#1 /var/www/vhosts/example.com/vendor/symfony/validator/Mapping/PropertyMetadata.php(51): Symfony\\Component\\Validator\\Mapping\\MemberMetadata->getReflectionMember(Object(Customize\\Entity\\NewEntity))\n#2 /var/www/vhosts/example.com/vendor/symfony/validator/Validator/RecursiveContextualValidator.php(545): Symfony\\Component\\Validator\\Mapping\\PropertyMetadata->getPropertyValue(Object(Customize\\Entity\\NewEntity))\n#3 /var/www/vhosts/example.com/vendor/symfony/validator/Validator/RecursiveContextualValidator.php(332): Symfony\\Component\\Validator\\Validator\\RecursiveContextualValidator->validateClassNode(Object(Customize\\Entity\\NewEntity), '0000000051485b2...', Object(Symfony\\Component\\Validator\\Mapping\\ClassMetadata), 'data', Array, NULL, 1, Object(Symfony\\Component\\Validator\\Context\\ExecutionContext))\n#4 /var/www/vhosts/example.com/vendor/symfony/validator/Validator/RecursiveContextualValidator.php(143): Symfony\\Component\\Validator\\Validator\\RecursiveContextualValidator->validateObject(Object(Customize\\Entity\\NewEntity), 'data', Array, 1, Object(Symfony\\Component\\Validator\\Context\\ExecutionContext))\n#5 /var/www/vhosts/example.com/vendor/symfony/form/Extension/Validator/Constraints/FormValidator.php(104): Symfony\\Component\\Validator\\Validator\\RecursiveContextualValidator->validate(Object(Customize\\Entity\\NewEntity), NULL, Array)\n#6 /var/www/vhosts/example.com/vendor/symfony/validator/Validator/RecursiveContextualValidator.php(828): Symfony\\Component\\Form\\Extension\\Validator\\Constraints\\FormValidator->validate(Object(Symfony\\Component\\Form\\Form), Object(Symfony\\Component\\Form\\Extension\\Validator\\Constraints\\Form))\n#7 /var/www/vhosts/example.com/vendor/symfony/validator/Validator/RecursiveContextualValidator.php(521): Symfony\\Component\\Validator\\Validator\\RecursiveContextualValidator->validateInGroup(Object(Symfony\\Component\\Form\\Form), '0000000051485b9...', Object(Symfony\\Component\\Validator\\Mapping\\ClassMetadata), 'Default', Object(Symfony\\Component\\Validator\\Context\\ExecutionContext))\n#8 /var/www/vhosts/example.com/vendor/symfony/validator/Validator/RecursiveContextualValidator.php(332): Symfony\\Component\\Validator\\Validator\\RecursiveContextualValidator->validateClassNode(Object(Symfony\\Component\\Form\\Form), '0000000051485b9...', Object(Symfony\\Component\\Validator\\Mapping\\ClassMetadata), '', Array, NULL, 1, Object(Symfony\\Component\\Validator\\Context\\ExecutionContext))\n#9 /var/www/vhosts/example.com/vendor/symfony/validator/Validator/RecursiveContextualValidator.php(143): Symfony\\Component\\Validator\\Validator\\RecursiveContextualValidator->validateObject(Object(Symfony\\Component\\Form\\Form), '', Array, 1, Object(Symfony\\Component\\Validator\\Context\\ExecutionContext))\n#10 /var/www/vhosts/example.com/vendor/symfony/validator/Validator/RecursiveValidator.php(100): Symfony\\Component\\Validator\\Validator\\RecursiveContextualValidator->validate(Object(Symfony\\Component\\Form\\Form), NULL, Array)\n#11 /var/www/vhosts/example.com/vendor/symfony/form/Extension/Validator/EventListener/ValidationListener.php(55): Symfony\\Component\\Validator\\Validator\\RecursiveValidator->validate(Object(Symfony\\Component\\Form\\Form))\n#12 /var/www/vhosts/example.com/vendor/symfony/event-dispatcher/EventDispatcher.php(214): Symfony\\Component\\Form\\Extension\\Validator\\EventListener\\ValidationListener->validateForm(Object(Symfony\\Component\\Form\\FormEvent), 'form.post_bind', Object(Symfony\\Component\\EventDispatcher\\EventDispatcher))\n#13 /var/www/vhosts/example.com/vendor/symfony/event-dispatcher/EventDispatcher.php(44): Symfony\\Component\\EventDispatcher\\EventDispatcher->doDispatch(Array, 'form.post_bind', Object(Symfony\\Component\\Form\\FormEvent))\n#14 /var/www/vhosts/example.com/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php(33): Symfony\\Component\\EventDispatcher\\EventDispatcher->dispatch('form.post_bind', Object(Symfony\\Component\\Form\\FormEvent))\n#15 /var/www/vhosts/example.com/vendor/symfony/form/Form.php(665): Symfony\\Component\\EventDispatcher\\ImmutableEventDispatcher->dispatch('form.post_bind', Object(Symfony\\Component\\Form\\FormEvent))\n#16 /var/www/vhosts/example.com/vendor/symfony/form/Extension/HttpFoundation/HttpFoundationRequestHandler.php(109): Symfony\\Component\\Form\\Form->submit(Array, true)\n#17 /var/www/vhosts/example.com/vendor/symfony/form/Form.php(487): Symfony\\Component\\Form\\Extension\\HttpFoundation\\HttpFoundationRequestHandler->handleRequest(Object(Symfony\\Component\\Form\\Form), Object(Symfony\\Component\\HttpFoundation\\Request))\n#18 /var/www/vhosts/example.com/app/Customize/Controller/Admin/Product/NewEntityController.php(97): Symfony\\Component\\Form\\Form->handleRequest(Object(Symfony\\Component\\HttpFoundation\\Request))\n#19 /var/www/vhosts/example.com/vendor/symfony/http-kernel/HttpKernel.php(151): Customize\\Controller\\Admin\\Product\\NewEntityController->edit(Object(Symfony\\Component\\HttpFoundation\\Request), '56')\n#20 /var/www/vhosts/example.com/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#21 /var/www/vhosts/example.com/vendor/symfony/http-kernel/Kernel.php(200): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#22 /var/www/vhosts/example.com/index.php(76): Symfony\\Component\\HttpKernel\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#23 {main}"] [POST, /xxxxxxxxxx/product/newentity/56/edit, 111.111.111.111, https://example.com/xxxxxxxxxx/product/newentity/56/edit, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36]


管理画面からキャッシュクリアを実施することでエラーはなくなりましたが、エラー発生の原因が分かりません。
改めて各環境のソース、DBを確認しましたが、本番環境には何も変更は行っていませんでした。

DB更新はコマンドで実施していて、使ったコマンドは下記の通りです。
bin/console cache:clear --no-warmup
bin/console doctrine:migrations:migrate
bin/console doctrine:schema:update --dump-sql --force


上記の doctrine:schema:update を実行した際、各環境内ではなく、/tmp ディレクトリにproxyが生成されます。
外部キーの整合性エラーが出たため、DBを修正しつつ何度か上記コマンドを打ったので、
/tmp 配下には proxyフォルダが複数存在している状況です。
例:
gen -> /tmp/proxy_FoUgWojNnhQT/src/Eccube/Entity/Shipping.php


別環境に影響を与えたということは、上記が本番環境からも参照された可能性があるのではないか、と考えていますが
何かご存知の方がいらっしゃいましたら、ご教授ください。

また、proxy生成先のパスを指定する方法がありましたらご教授ください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,899名です
総投稿数は110,004件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.