You are viewing the PKP Support Forum | PKP Home Wiki

Session table

Open Harvester Systems support questions and answers, bug reports, and development issues.

Moderators: jmacgreg, michael, John

Forum rules
Developer Resources:

Git: You can access our public Git Repository here. Comprehensive Git usage instructions are available on the wiki.

Bugzilla: You can access our Bugzilla report tracker here.

Search: You can use our Google Custom Search to search across our main website, the support forum, and Bugzilla.

Questions and discussion are welcome.

Session table

Postby paynter » Tue Oct 09, 2007 9:12 pm

Hi all:

What does the session table do in the PKP Harvester database, and what does the Session Management class do?

I have read about this in the technical reference, but it doesn't answer my questions:

1. Does session information only get recorded for users who log in to the website, or for all users?

2. Can I turn it off? Our policy is to not maintain session information if we can at all help it.)

3. Why are people turning up at the site and getting errors like the one below?


Error observed after logging in to our demo website (Solaris/Oracle environment):

Code: Select all
DB Error: ORA-12899: value too large for column
"DB_PKP"."SESSIONS"."IP_ADDRESS" (actual: 21, maximum: 15) Stack Trace:
File: /opt/u01/local/pkp/classes/session/SessionDAO.inc.php line 80
Function: sessiondao->update("INSERT INTO sessions (session_id,
ip_address, user_agent, c...", Array(8))

File: /opt/u01/local/pkp/classes/session/SessionManager.inc.php line 79
Function: sessiondao->insertsession(Object(session))

File: /opt/u01/local/pkp/classes/session/SessionManager.inc.php line 106
Function: sessionmanager->sessionmanager(Object(sessiondao))

File: /opt/u01/local/pkp/index.php line 39
Function: sessionmanager::getmanager()

File: /opt/u01/local/pkp/index.php line 58
Function: handlerequest()
Posts: 3
Joined: Mon Jun 25, 2007 7:32 pm

Re: Session table

Postby asmecher » Wed Oct 10, 2007 12:03 pm

Hi Gordon,

I'm not sure what's causing that Oracle error message; it may be multiple IP addresses in the remote IP server variable, in which case, you can filter out all but the first using the patch at http://pkp.sfu.ca/cvs/cvsweb.cgi/harvester2/classes/core/Request.inc.php.diff?r1=1.18;r2=1.19. Otherwise, you'll need to turn on query logging in Oracle to determine what the problem query is.

The sessions table is a persistent implementation of PHP's session management; where PHP uses in-memory session storage, the Harvester uses a database table so that session data can be maintained across server restarts and potentially even distributed across multiple web servers. Not much of this is used by the Harvester itself, but it's part of the underlying platform that the PKP suite uses. It's possible to disable it by modifying the code, but I don't think it's worth the bother, as it's not recording anything more sensitive than an IP address, and it's only temporarily stored while the session is active anyway.

Alec Smecher
Public Knowledge Project Team
Posts: 9946
Joined: Wed Aug 10, 2005 12:56 pm

Return to Open Harvester Systems Support and Development

Who is online

Users browsing this forum: No registered users and 1 guest