Bug #60657 [Com]: APC destroys static class members before sessions are written
| From: | gedrox at gmail dot com | Date: | Fri, 02 Mar 2012 11:47:51 +0000 |
| Subject: | Bug #60657 [Com]: APC destroys static class members before sessions are written | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-168022@lists.php.net to get a copy of this message | ||
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