質問 > フロント機能 > Invalid page number. Page: 0: $page must be positive non-zero integer |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kaihatsu1 |
投稿日時: 2024/5/13 11:16
対応状況: −−−
|
新米 登録日: 2024/5/13 居住地: 投稿: 2 |
Invalid page number. Page: 0: $page must be positive non-zero integer [EC-CUBE] EC-CUBE4.2.1
[WEBサーバ] Apache2.4.x [DBサーバ] AWS RDS or Aurora(MySQL8.0系) [フレームワーク] Symfony5.4系 [ブラウザ] Chrome [導入プラグインの有無] 有 ■有効となっているプラグイン ・Coupon Plugin for EC-CUBE42 ・PGマルチペイメントサービス決済プラグイン ・データ移行プラグイン ・お届け先住所登録数変更プラグイン ■無効となっているプラグイン ・会員項目追加プラグイン ・メールマガジンプラグイン ・マイページ請求書/納品書/領収書プラグイン4.2 ・商品レビュー管理プラグイン ・おすすめ商品管理プラグイン ・関連商品プラグイン ・売上集計プラグイン ・Securitychecker42 ・Site Kit プラグイン ■未インストールプラグイン ・EC-CUBE Web API プラグイン(4.2系) ・商品並び替えプラグイン PLUS EC-CUBE(4.2系) [カスタマイズの有無] 有(エラー発生対象ファイルのカスタマイズをしていない) [現象] ローカルと検証環境は検知できず、本番環境のみ発生されている。 ------------------------------エラー内容は以下の通り---------------------------- ["Invalid page number. Page: 0: $page must be positive non-zero integer","/var/www/html/vendor/knplabs/knp-components/src/Knp/Component/Pager/Exception/PageNumberInvalidException.php",11,"#0 /var/www/html/vendor/knplabs/knp-components/src/Knp/Component/Pager/Paginator.php(59): Knp\\Component\\Pager\\Exception\\PageNumberInvalidException::create(0)\n#1 /mnt/efs/cache/prod/ContainerW9iHTC5/PaginatorInterface_82dac15.php(15): Knp\\Component\\Pager\\Paginator->paginate(Object(Doctrine\\ORM\\QueryBuilder), 0, 1000, Array)\n#2 /var/www/html/src/Eccube/Controller/SitemapController.php(159): ContainerW9iHTC5\\PaginatorInterface_82dac15->paginate(Object(Doctrine\\ORM\\QueryBuilder), 0, 1000)\n#3 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(163): Eccube\\Controller\\SitemapController->product(Object(Symfony\\Component\\HttpFoundation\\Request), Object(ContainerW9iHTC5\\PaginatorInterface_82dac15))\n#4 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(75): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#5 /var/www/html/vendor/symfony/http-kernel/Kernel.php(202): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#6 /var/www/html/index.php(83): Symfony\\Component\\HttpKernel\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#7 {main}"] [GET, /sitemap_product_0.xml, 10.0.0.25, NULL, Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)] -------------------------------------------------------------------------------- 該当PageNumberInvalidException.phpクラスファイルを確認しましたが、どうやら商品表示?関連するところで0で渡したことでエラーとなったように見えます。 最初は商品が全部非表示状態だからそういうエラーが出ると推測しましたが、実際商品公開してもそのエラーもしばらく出てきました。一定の期間を経ちますとエラーがなくなります。 ネットでも調べましたが解決方法が分からず、一応フロント画面と管理画面が正常に使えていますので現状は業務支障にならないすでが、リスクがあるので潰したいです。 解決方法をご教示を頂ければ幸いです。 |
tattsu |
投稿日時: 2024/5/13 11:49
対応状況: −−−
|
仙人 登録日: 2023/12/23 居住地: 投稿: 357 |
Re: Invalid page number. Page: 0: $page must be positive non-zero integer 確かに不具合ですね。
src/Eccube/Resource/template/default/sitemap_index.xml.twigで 引用: {% for p in 1..productPageCount %} となっている部分をif文で囲むように修正すれば良いかと思います。 引用:
|
kaihatsu1 |
投稿日時: 2024/5/14 9:42
対応状況: −−−
|
新米 登録日: 2024/5/13 居住地: 投稿: 2 |
Re: Invalid page number. Page: 0: $page must be positive non-zero integer tattsuさん
早速なご回答はありがとうございます! 確かにIF文で0の場合通さないようにすれば解決できますね。 ちなみに、このIF文を追加することで他に影響がないと思って良いでしょうか。 そもそもローカル環境で再現しにくい事象なので、 その引数に数値を直接渡してテストしか方法がないので、デグレ要素が懸念しております。 |
tattsu |
投稿日時: 2024/5/14 11:33
対応状況: −−−
|
仙人 登録日: 2023/12/23 居住地: 投稿: 357 |
Re: Invalid page number. Page: 0: $page must be positive non-zero integer "Invalid page number. Page: 0: $page must be positive non-zero integer"とエラー出ているので0より大きい数を渡すことになりますね。
今回のように具体的に問題を書いていただければアドバイスできるのですが、実際にみていないサイトではなかなか他に問題がないか判断はできないので、色々確認してみてください。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |