coreのSession.timeoutを長めに設定していても、php.iniの設定によってはそれより早くセッションが切れてしまう。 これはphpのガベージコレクション*1が働いているのが原因。 解決するにはcore.phpに以下のように書く。 <?php Configure::write("Session.save", "cake"); Configure::write("Security.level", "medium"); // セッションは24時間でタイムアウトし、 Configure::write("Session.timeout", 24 * 60 * 60 /100); // それ以降にリクエストがある度、 ini_set("session.gc_maxlifetime", 24 * 60 * 60); // 1/100の確立でガベージコレクションを行う。 ini_set("