私はエラーを無視するよりもよく知っています、約束します。XML-Sitemaps ジェネレーターを実行すると、CodeIgniter を喜ばせる有効なセッション情報がない URL にヒットします。その結果、クロールされたすべてのページに対して 1 つの E_NOTICE とログ (および電子メール通知) が作成され、気が狂いそうになります。何も壊れず、人やロボットに害はありません。影響を受けるのは私の正気だけです。
何人かの人々が CodeIgniter の unserialize() の失敗を修正しました:
- 暗号化の問題: http://codeigniter.com/forums/viewthread/91456/#758252
- 再帰的シリアライゼーションの問題: codeigniter での奇妙なセッション動作
私はそれぞれの前提で実行しましたが、それでも何百もの次の通知を受け取ります。
NOTICE: unserialize() [<a href='function.unserialize'>function.unserialize</a>]: Error at offset 98 of 128 bytes
これにより、非常に単純な質問で振り出しに戻ることができます。CIのSession.phpの問題のある行724は次のとおりです。
$data = @unserialize(strip_slashes($data));
私は抑圧的な「@」を追加しませんでした – それはすでにそこにありました. それは、スローされた場合に E_NOTICE メッセージを具体的に抑制するということではないでしょうか? そうでない場合、その行は、髪の毛をすべて引き裂きたくなるようなこれらすべての通知をどのように生成できるのでしょうか?