プラグイン > バグ報告・利用に関する質問 > EC-CUBEペイメント決済プラグイン(3.0系)を有効にしていると退会処理でエラーになる |
バグ報告・利用に関する質問
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kztomita |
投稿日時: 2016/4/8 12:13
対応状況: −−−
|
新米 登録日: 2016/4/8 居住地: 投稿: 1 |
EC-CUBEペイメント決済プラグイン(3.0系)を有効にしていると退会処理でエラーになる [環境]
EC-CUBE 3.0.9で確認 GmoPaymentGatewayのバージョンは1.1.5 [現象] EC-CUBEペイメント決済プラグイン(3.0系)(GmoPaymentGateway)をインストールして有効状態にしておくと、 退会処理においてPHPエラーが発生し、退会完了ページ(withdraw_complete)に遷移しません。 ただし、退会処理自体は完了しています。 エラーの内容は以下のとおりです。 Fatal error: Maximum function nesting level of '100' reached, aborting! 環境によっては以下のエラーになります。 PHP Fatal error: Allowed memory size of xxxxx bytes exhausted [原因] 退会処理実行時、WithdrawController::index()で、 $this->getSecurity($app)->setToken(null); を実行してログアウトをします。 GmoPaymentGatewayプラグインが有効になっていると、この後に eccube.event.render.mypage_withdraw.beforeイベントの処理で GmoPaymentGateway::onRenderMypageBefore()が呼び出されます。 このメソッドの中で、$this->app->isGranted('ROLE_USER')を 呼び出しますが、security tokenは既にnullにされているため、 AuthenticationCredentialsNotFoundExceptionが発生し、 ログインページへ遷移しようとし、その後、無限ループとなり上記エラーになります。 [対策] 仮の対策としては、app/Plugin/GmoPaymentGateway/event.ymlの以下の2行を コメントアウトすれば上記問題は回避できます。 #eccube.event.render.mypage_withdraw.before: # - [onRenderMypageBefore, NORMAL] GmoPaymentGateway::onRenderMypageBefore()では、カード番号を記録する設定になっている場合に、 マイページのメニューに、カード番号変更の項目を追加するカスタマイズを行っていますが、 退会ページにおいて、このカスタマイズが行われなくなります。 退会ページなので、上記メニューの変更がなくても、使い勝手上、とりあえず 問題はないと思います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |