GUSSAN
2020 年 11 月 20 日午前 2:05
1
複数のサイト(4.4.0/ 4.4.1)で、debug.log内に以下のnoticeが、頻繁に出ています。
ご確認いただけますでしょうか、よろしくお願いします。
2020-11-17 05:39:00 Notice: Notice (8): Undefined index: Site in [/home/***/lib/Baser/Plugin/Blog/View/Helper/BlogHelper.php, line 100]
2020-11-17 05:39:00 Notice: Notice (8): Trying to access array offset on value of type null in [/home/***/lib/Baser/Plugin/Blog/View/Helper/BlogHelper.php, line 100]
【環境情報】
・baserCMSのバージョン:4.4.1
・レンタルサーバー名:ロリポップ
・使用テーマ:Omotenashi2
・PHPスキル: E
lib/Baser/Plugin/Blog/View/Helper/BlogHelper.php の100行目に、
'site_id' => $this->request->params['Site']['id']
上記のような記述があると思います。
ノールックの動作確認なしですが、
'site_id' => Hash::get($this->request->params, 'Site.id')
こう書き換えると改善されますか?そもそもこれで改善されること自体が
イレギュラーではありますが、それは改めて検証したいと思います。
今に始まったことではなくて、単純に今まで気にしなかったエラーという
ことと思います。
「いいね!」 1
GUSSAN
2020 年 11 月 21 日午前 2:12
3
@yamamoto
ご回答ありがとうございます。
ご指摘のとおりに記述を変更したところ、noticeは、出なくなりました。ありがとうございます。
「改善されること自体イレギュラー」とのことですが、後学のためにもう少しご説明いただけると嬉しいです。よろしくお願いいたします。
'site_id' => Hash::get($this->request->params, 'Site.id')
こう書くことで「noticeを出さない」という目的はかなえられますが、これは結局「空の値」をsite_idに渡しているので、それはそれでおかしいんじゃないかなー、、と。
なので、ちゃんと修正するなら、値が空の場合はどうする?という判定を先に
行なう必要があると思います・・・が、そもそもsite_idを取得できてないことの
ほうがおかしい気がします。とすると・・調査範囲が少し広くなっちゃいます。
「いいね!」 1
GUSSAN
2020 年 11 月 21 日午後 10:51
5
@yamamoto
わかりやすくご説明いただきありがとうございます。
ひとつ疑問なのですが、site_idを取得できなくても特に問題がない(気にしなくてもいいエラー)のであれば、そもそも、なんの目的で 'site_id' => $this->request->params['Site']['id']
で、site_idを取得しているのでしょうか?
そうなんですよね、、そこを調べなくっちゃ。って話なんですよね、、
この件は氷山の一角なので、とりあえずは気にしなくていいかなとは思っています。
「いいね!」 1
GUSSAN
2020 年 11 月 22 日午前 11:31
7
@yamamoto
ご回答ありがとうございます。
事情、了解いたしました。