create(); // The session table consists simply of an ID, a UNIX timestamp to // indicate the expiration time, and a blob field which will hold // the serialized form of the session payload. $table->string('id')->length(40)->primary('session_primary'); $table->integer('last_activity'); $table->text('data'); }); // By default no session driver is specified in the configuration. // Since the developer is requesting that the session table be // created on the database, we'll set the driver to database // to save an extra step for the developer. $config = File::get(APP_PATH.'config/session'.EXT); $config = str_replace("'driver' => '',", "'driver' => 'database',", $config); File::put(APP_PATH.'config/session'.EXT, $config); echo "The table has been created! Database set as session driver."; } /** * Sweep the expired sessions from storage. * * @param array $arguments * @return void */ public function sweep($arguments = array()) { $driver = \Laravel\Session::factory(Config::get('session.driver')); // If the driver implements the "Sweeper" interface, we know that // it can sweep expired sessions from storage. Not all drivers // need be sweepers, as stores like Memcached and APC will // perform their own garbage collection. if ($driver instanceof Sweeper) { $lifetime = Config::get('session.lifetime'); $driver->sweep(time() - ($lifetime * 60)); } echo "The session table has been swept!"; } }