Hmm, from the source (main.inc), it looks like the authors intentionally didn't want to have sqlite handle session management.
// we can use the database for storing session data
if (is_object($DB) && $DB->db_provider!='sqlite')
include_once('include/session.inc');
I've never used sqlite, so I wouldn't presume to guess why they made this decision.
I am using PHP 4.3.10 on apache 1.13.34 with MySQL 4.1.15 and I'm have
the same 'Your session is invalid or expired' error. I just
installed RoundCube last night, so I haven't spent much time debugging,
but from what I can see, the session table is created, however sessions
aren't created. The user is added to the users table as well as
the identities table. Cache and contacts are also empty (which
isn't surprising at this point).
If anyone has an idea as to what the problem is, I'd love to hear it.
--
Dave Wood
So the session table isn't being created when you use sqlite as the database
type. This patch fixes the problem and allows successful login.
--- sqlite.initial.sql.orig 2005-10-30 09:54:13.000000000 -0800
+++ sqlite.initial.sql 2005-10-30 09:08:17.000000000 -0800
@@ -78,3 +78,19 @@
language varchar(5) NOT NULL default 'en',
preferences text NOT NULL default ''
);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table sessions
+--
+
+
+CREATE TABLE session (
+ sess_id varchar(32) NOT NULL default '',
+ created datetime NOT NULL default '0000-00-00 00:00:00',
+ changed datetime NOT NULL default '0000-00-00 00:00:00',
+ ip VARCHAR(15) NOT NULL default '',
+ vars text NOT NULL,
+ PRIMARY KEY (sess_id)
+)
Adhamh