Edit report at https://bugs.php.net/bug.php?id=60657&edit=1

 ID:                 60657
 Comment by:         gedrox at gmail dot com
 Reported by:        astewart at online-buddies dot com
 Summary:            APC destroys static class members before sessions
                     are written
 Status:             Open
 Type:               Bug
 Package:            Session related
 Operating System:   MacOS X 10.7, CentOS 5.6
 PHP Version:        5.3.8
 Block user comment: N
 Private report:     N

 New Comment:

This is actual in 5.3.10 as well. Simple code to reproduce (will log fatal 
errors about undefined class constant 'logging'):

<?php

$session = new XSession();

session_set_save_handler(array($session, 'open'), array($session, 'close'), 
array($session, 'read'), array($session, 'write'), array($session, 'destroy'), 
array($session, 'gc'));
session_start();

class XSession {
const logging = false;
function open() {if (self::logging) echo 'OK';}
function write() {if (self::logging) echo 'OK';}
function read() {if (self::logging) echo 'OK';}
function close() {if (self::logging) echo 'OK';}
function destroy() {if (self::logging) echo 'OK';}
function gc() {if (self::logging) echo 'OK';}
}


Previous Comments:
------------------------------------------------------------------------
[2012-01-04 17:25:18] astewart at online-buddies dot com

Description:
------------
Like #59564.

Neither of the workarounds in that work for us: session is compiled in 
statically, but APC is a module, so we can't reorder them relative to each 
other, 
and an append doesn't work, and doesn't work with scripts that call exit()



------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=60657&edit=1

Reply via email to