View Issue Details

IDProjectCategoryView StatusLast Update
0000853OXID eShop (all versions)4. ------ eShop Core -------public2012-12-10 13:42
Reporterbirute_meilutyte Assigned To 
PriorityurgentSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
Fixed in Version4.5.1 revision 38045 
Summary0000853: DB Session handling in eShop 4th does not work at all
DescriptionDB session handling can be activated by entering $this->blAdodbSessionHandler = true; into config.inc.php. however, if it is activated, shop does not start at all. fatal error appears.
TagsNo tags attached.
ThemeBoth
BrowserAll
PHP Version5.2.6
Database Version5.0.33

Relationships

has duplicate 0003349 resolveddainius.bigelis OXID ERP Interface Ado DB Session handler does not work with ERP interface 
related to 0003042 resolvedLinas Kukulskis OXID ERP Interface ERP fatal error when adodb session hendler is on 
related to 0003875 resolvedLinas Kukulskis OXID eShop (all versions) Session gets lost when using ADODB 
related to 0004560 resolvedsaulius.stasiukaitis OXID eShop (all versions) Session size might exceed column limit when using database for session storage 

Activities

tomas_liubinas

2009-05-12 19:51

reporter   ~0000914

fixed only by changing adodblite package.

tomas_liubinas

2009-05-14 16:56

reporter   ~0000921

The basic problem with this feature is adodb being not compliant with E_STRICT mode. There is no simple way to avoid that, so if you need sessions in databases you need to implement some manual changes:

1. File: source\core\adodblite\session\adodb-session.php
Change ALL class function declarations to static. Example:
function sess_open($sess_path, $sess_name, $persist = null)
to
static function sess_open($sess_path, $sess_name, $persist = null)

2. As always add additional table manually to the DB:
CREATE TABLE oxsessions (
    ID INT NOT NULL AUTO_INCREMENT,
    SessionID VARCHAR(64),
    session_data TEXT DEFAULT '',
    expiry INT(11),
    expireref VARCHAR(64) DEFAULT '',
    PRIMARY KEY (ID),
    INDEX SessionID (SessionID)
    INDEX expiry (expiry)
);

3.In config.inc.php check additional config constant, like:
$this->blAdodbSessionHandler = true;

That's it.

The incompatibility has been reported to AdoDBLite developers.

alfonsas_cirtautas

2011-07-10 03:26

reporter   ~0004842

Check if this functionatity works

Linas Kukulskis

2011-07-14 12:43

reporter   ~0004856

changed adodblite session package.
added fixes in to oxsession class