質問 > その他 > 特定のカテゴリでシステムエラー出て困っています |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dadance |
投稿日時: 2025/3/10 11:51
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2025/3/4 居住地: 投稿: 10 |
特定のカテゴリでシステムエラー出て困っています [EC-CUBE] 4.2.0
[PHP] 8.1 [データベース] MySQL8.0 [現象] 特定のカテゴリにアクセスするとシステムエラーが出てしまいます。 なお、その他のカテゴリは全く問題なくアクセスできます。 エラーログは下記の通りですが、Warning: Undefined array keyというのが原因でしょうか? どうすれば解決できるかおわかりの方がいらっしゃいましたらよろしくお願い致します。 app.ERROR [80ba2395] [9b1e336] [N/A] [Eccube\Log\Logger:log:68] - システムエラーが発生しました。 ["Call to a member function getProductClasses() on null","/home/****/www/src/Eccube/Form/Type/AddCartType.php",74,"#0 /home/****/www/vendor/symfony/form/ResolvedFormType.php(131): Eccube\\Form\\Type\\AddCartType->buildForm()\n#1 /home/****/www/vendor/symfony/form/FormFactory.php(73): Symfony\\Component\\Form\\ResolvedFormType->buildForm()\n#2 /home/****/www/src/Eccube/Controller/ProductController.php(186): Symfony\\Component\\Form\\FormFactory->createNamedBuilder()\n#3 /home/****/www/vendor/symfony/http-kernel/HttpKernel.php(153): Eccube\\Controller\\ProductController->index()\n#4 /home/****/www/vendor/symfony/http-kernel/HttpKernel.php(75): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw()\n#5 /home/****/www/vendor/symfony/http-kernel/Kernel.php(202): Symfony\\Component\\HttpKernel\\HttpKernel->handle()\n#6 /home/****/www/index.php(83): Symfony\\Component\\HttpKernel\\Kernel->handle()\n#7 {main}"] [GET, /products/list?category_id=29, 106.154.146.242, https://****.com/products/list?category_id=22, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36] php.CRITICAL [80ba2395] [9b1e336] [N/A] [Symfony\Component\ErrorHandler\ErrorHandler:handleException:584] - Uncaught Error: Call to a member function getProductClasses() on null {"exception":"[object] (Error(code: 0): Call to a member function getProductClasses() on null at /home/****/www/src/Eccube/Form/Type/AddCartType.php:74)"} [GET, /products/list?category_id=29, 106.154.146.242, https://****.com/products/list?category_id=22, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36] php.WARNING [80ba2395] [9b1e336] [N/A] [Symfony\Component\ErrorHandler\ErrorHandler:handleError:538] - Warning: Undefined array key 44499 {"exception":"[object] (ErrorException(code: 0): Warning: Undefined array key 44499 at /home/****/www/src/Eccube/Controller/ProductController.php:186)"} [GET, /products/list?category_id=29, 106.154.146.242, https://****.com/products/list?category_id=22, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36] |
h_tanaka |
投稿日時: 2025/3/10 11:55
対応状況: −−−
|
神 ![]() ![]() 登録日: 2016/7/22 居住地: 愛媛県 投稿: 2007 |
Re: 特定のカテゴリでシステムエラー出て困っています Call to a member function getProductClasses() on null
src/Eccube/Form/Type/AddCartType.php:74 これがエラーの原因と場所になります。 src/Eccube/Form/Type/AddCartType.php の 74行目を確認してください。 例えば、 $Entity->getProductClasses() このようなコードがある場合、$Entity にあたるオブジェクトが null であることがエラーの原因です。 getProductClasses() をコールしているオブジェクトを正しく取得または定義するか、例外処理を追加すれば解決すると思います。
|
tattsu |
投稿日時: 2025/3/10 12:54
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2023/12/23 居住地: 投稿: 417 |
Re: 特定のカテゴリでシステムエラー出て困っています バージョンアップを行われたのでしょうか??
そうであればこのエラーはdtb_product_stockテーブルにデータが正しく移せていない場合にも発生します。一度見てみることをおすすめします。 他にもカスタマイズミスやプラグインの干渉など原因色々考えられるのですが上記のケースが多いですね。
|
dadance |
投稿日時: 2025/3/10 14:11
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2025/3/4 居住地: 投稿: 10 |
Re: 特定のカテゴリでシステムエラー出て困っています ありがとうございます。
74行目あたりは以下のような記述です。 /* @var $Product \Eccube\Entity\Product */ $Product = $options['product']; $this->Product = $Product; $ProductClasses = $Product->getProductClasses(); どういうふうに書き換えればよいでしょうか? 知識不足で自力では難しいのでよろしければご教授ください。 宜しくお願いいたします。 |
dadance |
投稿日時: 2025/3/10 14:13
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2025/3/4 居住地: 投稿: 10 |
Re: 特定のカテゴリでシステムエラー出て困っています はい、2.12からのアップデートです。
一度データベースを確認してみます。 |
h_tanaka |
投稿日時: 2025/3/10 14:16
対応状況: −−−
|
神 ![]() ![]() 登録日: 2016/7/22 居住地: 愛媛県 投稿: 2007 |
Re: 特定のカテゴリでシステムエラー出て困っています そのあたりは EC-CUBE 標準のソースのようなので、 twig か FormType に問題がありそうです。
商品詳細ページに影響しそうなプラグインや独自カスタマイズはありますか?
|
dadance |
投稿日時: 2025/3/10 14:49
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2025/3/4 居住地: 投稿: 10 |
Re: 特定のカテゴリでシステムエラー出て困っています プラグインは入れておりません。
現象としてはカテゴリの構造が 第1階層>第2>第3>第4 とあるのですが、問題のカテゴリは第3です。 その下にある第4はURL直打ちで見に行けば見られます。 他のカテゴリには全く影響が出ておりませんので、やはり移行したデータベースが原因でしょうかね。 |
h_tanaka |
投稿日時: 2025/3/10 14:53
対応状況: −−−
|
神 ![]() ![]() 登録日: 2016/7/22 居住地: 愛媛県 投稿: 2007 |
Re: 特定のカテゴリでシステムエラー出て困っています 移行したデータの商品カテゴリのリレーションがおかしくて、カテゴリーから商品が取得できないのかもしれません。
データベースで dtb_product_category の対象カテゴリーのレコードを確認するか、デバッグするかで、原因を特定していくのが良いと思います。
|
tattsu |
投稿日時: 2025/3/10 15:27
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2023/12/23 居住地: 投稿: 417 |
Re: 特定のカテゴリでシステムエラー出て困っています 試せてないですが、おそらくデータベース上でこのSQLを実行して
ヒットする行があればその商品のdtb_product_stockデータがエラーの原因だと思います。
|
dadance |
投稿日時: 2025/3/10 15:45
対応状況: 解決済
|
新米 ![]() ![]() 登録日: 2025/3/4 居住地: 投稿: 10 |
Re: 特定のカテゴリでシステムエラー出て困っています product_id=44499 が悪さをしていたようで、dtb_product_classとdtb_product_categoryの44499を削除したところエラーが出ていたページが表示されるようになりました。
44499は廃止商品のレコードなので思い切って削除しました。 h_tanaka様、tattsu様お教えいただきありがとうございました。 tattsu様 44499削除後にいただいたSQLを走らせたところ返り値0だったので何とかなったようです。 今後同様なケースが出ないか不安ではありますが・・・ ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |