▼テンプレート
[EC-CUBE] 4.2.2等
[レンタルサーバ] Xserver
[PHP] 8.1.22
[現象] 商品登録を行っている最中にシステムエラーが発生いたしました。
ログを辿ったところ、
以下のように出力されました。
2024-01-25T12:07:34.761933+09:00] php.CRITICAL [58c0673c] [ba0a022] [N/A] [Symfony\Component\ErrorHandler\ErrorHandler:handleException:584] - Uncaught Error: Division by zero {"exception":"[object] (DivisionByZeroError(code: 0): Division by zero at /home/●●●/■■■/public_html/var/cache/prod/twig/6f/6f70bd05664682fd98f7a0d41cac9418.php:470)"} [GET, /, nnn.nn.nnn.nn, https://■■■/, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36]
[2024-01-25T12:07:34.764505+09:00] front.ERROR [58c0673c] [ba0a022] [N/A] [Eccube\Log\Logger:log:66] - システムエラーが発生しました。 ["Division by zero","/home/●●●/■■■/public_html/var/cache/prod/twig/6f/6f70bd05664682fd98f7a0d41cac9418.php",470,"#0 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(405): __TwigTemplate_712195911edfcc0d6b38df21ae51ac95->doDisplay(Array, Array)\n#1 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(378): Twig\\Template->displayWithErrorHandling(Array, Array)\n#2 /home/●●●/■■■/public_html/src/Eccube/Twig/Template.php(41): Twig\\Template->display(Array, Array)\n#3 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(390): Eccube\\Twig\\Template->display(Array)\n#4 /home/●●●/■■■/public_html/vendor/twig/twig/src/TemplateWrapper.php(45): Twig\\Template->render(Array, Array)\n#5 /home/●●●/■■■/public_html/vendor/twig/twig/src/Environment.php(318): Twig\\TemplateWrapper->render(Array)\n#6 /home/●●●/■■■/public_html/src/Eccube/Twig/Extension/TwigIncludeExtension.php(42): Twig\\Environment->render('Block/lc_sale.t...', Array)\n#7 /home/●●●/■■■/public_html/var/cache/prod/twig/78/785b45138998473390738fa60876d1eb.php(55): Eccube\\Twig\\Extension\\TwigIncludeExtension->include_dispatch(Array, 'Block/lc_sale.t...')\n#8 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(405): __TwigTemplate_1d4ec861a27e494a6147aed1249ab96c->doDisplay(Array, Array)\n#9 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(378): Twig\\Template->displayWithErrorHandling(Array, Array)\n#10 /home/●●●/■■■/public_html/src/Eccube/Twig/Template.php(41): Twig\\Template->display(Array, Array)\n#11 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(390): Eccube\\Twig\\Template->display(Array)\n#12 /home/●●●/■■■/public_html/vendor/twig/twig/src/Extension/CoreExtension.php(1290): Twig\\Template->render(Array)\n#13 /home/●●●/■■■/public_html/var/cache/prod/twig/bc/bc6f1a5829e545b781b7e0746767bdc6.php(301): twig_include(Object(Twig\\Environment), Array, 'block.twig', Array)\n#14 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(405): __TwigTemplate_b890e8a249d773c308cd25f5e2458b9c->doDisplay(Array, Array)\n#15 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(378): Twig\\Template->displayWithErrorHandling(Array, Array)\n#16 /home/●●●/■■■/public_html/src/Eccube/Twig/Template.php(41): Twig\\Template->display(Array, Array)\n#17 /home/●●●/■■■/public_html/var/cache/prod/twig/80/80a84edc2979728e5ba35aa7299c4264.php(47): Eccube\\Twig\\Template->display(Array, Array)\n#18 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(405): __TwigTemplate_786b17de0adb00bde3bd7d9bddafc08c->doDisplay(Array, Array)\n#19 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(378): Twig\\Template->displayWithErrorHandling(Array, Array)\n#20 /home/●●●/■■■/public_html/src/Eccube/Twig/Template.php(41): Twig\\Template->display(Array, Array)\n#21 /home/●●●/■■■/public_html/vendor/twig/twig/src/Template.php(390): Eccube\\Twig\\Template->display(Array)\n#22 /home/●●●/■■■/public_html/vendor/twig/twig/src/TemplateWrapper.php(45): Twig\\Template->render(Array, Array)\n#23 /home/●●●/■■■/public_html/vendor/twig/twig/src/Environment.php(318): Twig\\TemplateWrapper->render(Array)\n#24 /home/●●●/■■■/public_html/vendor/sensio/framework-extra-bundle/src/EventListener/TemplateListener.php(115): Twig\\Environment->render('index.twig', Array)\n#25 /home/●●●/■■■/public_html/vendor/symfony/event-dispatcher/EventDispatcher.php(270): Sensio\\Bundle\\FrameworkExtraBundle\\EventListener\\TemplateListener->onKernelView(Object(Symfony\\Component\\HttpKernel\\Event\\ViewEvent), 'kernel.view', Object(Symfony\\Component\\EventDispatcher\\EventDispatcher))\n#26 /home/●●●/■■■/public_html/vendor/symfony/event-dispatcher/EventDispatcher.php(230): Symfony\\Component\\EventDispatcher\\EventDispatcher::Symfony\\Component\\EventDispatcher\\{closure}(Object(Symfony\\Component\\HttpKernel\\Event\\ViewEvent), 'kernel.view', Object(Symfony\\Component\\EventDispatcher\\EventDispatcher))\n#27 /home/●●●/■■■/public_html/vendor/symfony/event-dispatcher/EventDispatcher.php(59): Symfony\\Component\\EventDispatcher\\EventDispatcher->callListeners(Array, 'kernel.view', Object(Symfony\\Component\\HttpKernel\\Event\\ViewEvent))\n#28 /home/●●●/■■■/public_html/vendor/symfony/http-kernel/HttpKernel.php(168): Symfony\\Component\\EventDispatcher\\EventDispatcher->dispatch(Object(Symfony\\Component\\HttpKernel\\Event\\ViewEvent), 'kernel.view')\n#29 /home/●●●/■■■/public_html/vendor/symfony/http-kernel/HttpKernel.php(75): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#30 /home/●●●/■■■/public_html/vendor/symfony/http-kernel/Kernel.php(202): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#31 /home/●●●/■■■/public_html/index.php(83): Symfony\\Component\\HttpKernel\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#32 {main}"] [GET, /, nnn.nn.nnn.nn, https://■■■/, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36]
考えられる原因と致しましては、
・特定のカテゴリーで指定している商品を呼び出す
ブロックを設置しているのですが、
そのブロックを配置するとシステムエラーが発生します。
・試しに、上記ブロックの指定カテゴリーIDを別IDに変えるとエラーは解消します。
・システムエラーが発生するカテゴリーIDは商品点数が大量でして、それが原因なのかなと思い、
該当twigファイルの特定カテゴリーの商品リスト呼び出し箇所に対して、
「.setMaxResults(50)」の記述を追加し、商品点数を絞っても、システムエラーが発生してしまいます。
商品点数が多いのが原因なのか、コードミスなのか分からず。。。
ログもキャッシュに関する(?)エラーのため、
ネットで解消方法を捜してもヒットせず、どなたかアドバイスやログの解読等、
ご教授頂けますでしょうか?
何卒、よろしくお願いいたします。