diff --git a/config.php-dist b/config.php-dist index 047de65cd..a17c352e0 100644 --- a/config.php-dist +++ b/config.php-dist @@ -100,5 +100,9 @@ define('DAEMON_SLEEP_INTERVAL', 120); // Interval between update daemon update runs + define('DATABASE_BACKED_SESSIONS', true); + // Store session information in a database (recommended) + // Uses default PHP session storing mechanism if disabled + // vim:ft=php ?> diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql index 5032334c8..540fc0f22 100644 --- a/schema/ttrss_schema_mysql.sql +++ b/schema/ttrss_schema_mysql.sql @@ -256,8 +256,7 @@ create table ttrss_scheduled_updates (id integer not null primary key auto_incre foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE, foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE) TYPE=InnoDB; -create table ttrss_sessions (int_id integer not null primary key auto_increment, - id varchar(300) unique not null, +create table ttrss_sessions (id varchar(300) unique not null primary key, data text, expire integer not null, index (id), diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql index ec98bbb22..c6bc45217 100644 --- a/schema/ttrss_schema_pgsql.sql +++ b/schema/ttrss_schema_pgsql.sql @@ -231,12 +231,10 @@ create table ttrss_scheduled_updates (id serial not null primary key, feed_id integer default null references ttrss_feeds(id) ON DELETE CASCADE, entered timestamp not null default NOW()); -create table ttrss_sessions (int_id serial not null primary key, - id varchar(300) unique not null, - data text, - expire integer not null); +create table ttrss_sessions (id varchar(300) unique not null primary key, + data text, + expire integer not null); -create index ttrss_sessions_id_index on ttrss_sessions(id); create index ttrss_sessions_expire_index on ttrss_sessions(expire); commit; diff --git a/schema/upgrade-1.1.3-1.1.4-mysql.sql b/schema/upgrade-1.1.3-1.1.4-mysql.sql index f2e9bd16c..32b45e897 100644 --- a/schema/upgrade-1.1.3-1.1.4-mysql.sql +++ b/schema/upgrade-1.1.3-1.1.4-mysql.sql @@ -5,8 +5,7 @@ update ttrss_entries set author = ''; alter table ttrss_entries change author author varchar(250) not null; alter table ttrss_entries alter column author set default ''; -create table ttrss_sessions (int_id integer not null primary key auto_increment, - id varchar(300) unique not null, +create table ttrss_sessions (id varchar(300) unique not null primary key, data text, expire integer not null, index (id), diff --git a/schema/upgrade-1.1.3-1.1.4-pgsql.sql b/schema/upgrade-1.1.3-1.1.4-pgsql.sql index 6a0f46b55..d1d310f3d 100644 --- a/schema/upgrade-1.1.3-1.1.4-pgsql.sql +++ b/schema/upgrade-1.1.3-1.1.4-pgsql.sql @@ -7,10 +7,9 @@ update ttrss_entries set author = ''; alter table ttrss_entries alter column author set not null; alter table ttrss_entries alter column author set default ''; -create table ttrss_sessions (int_id serial not null primary key, - id varchar(300) unique not null, - data text, - expire integer not null); +create table ttrss_sessions (id varchar(300) unique not null primary key, + data text, + expire integer not null); create index ttrss_sessions_id_index on ttrss_sessions(id); create index ttrss_sessions_expire_index on ttrss_sessions(expire); diff --git a/sessions.php b/sessions.php index dddab5012..54b862a39 100644 --- a/sessions.php +++ b/sessions.php @@ -7,6 +7,7 @@ $session_expire = 600; ini_set("session.gc_probability", 50); + ini_set("session.name", "ttrss_sid"); function open ($s, $n) { @@ -87,6 +88,9 @@ db_query($session_connection, $query); } - session_set_save_handler ("open", "close", "read", "write", "destroy", "gc"); + if (DATABASE_BACKED_SESSIONS) { + session_set_save_handler ("open", "close", "read", "write", "destroy", "gc"); + } + session_start(); ?>