|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-06-29 19:37 UTC] hoesh at dorsum dot hu
Description:
------------
On request shutdown session file is created, but stay locked with zero size. CPU have no load, and nothing happens. No crash. I've tried older 5CVS bins, and it seems to be an older bug. Serialization and anything else works well for me. 5.0.0-Beta1 also contains this bug. Leaving out session_start & session_register. :)
Reproduce code:
---------------
<?
session_start();
if (!isset($HTTP_SESSION_VARS["count"]))
{
session_register("count");
$count = &$HTTP_SESSION_VARS["count"];
$count = 1;
} else
$count = &$HTTP_SESSION_VARS["count"];
echo $count++;
?>
Expected result:
----------------
1, 2, 3... by refreshing the page.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 13:00:01 2025 UTC |
Okay: The subjected problem was solved by un-double-quoting the session.save_path and remove the backslash from the end of line. Anyway, until this the engine was able to create the file. After that I had to get familiar with the new php_dom exension, which I think is great, but not documented yet. So then comes a serialization problem: objects in my project held reference to each other, and the last-time-workin-good serialization crashed on this extra. Right now I solved the problem by unbuilding theese references before serialization, and rebuilding them on wakeup. Now I can test the ZE2 editions new features, thank you for the help! Also, here is a sample script that doesn't work for me: <? class a { var $b; function a() { $this->b = new b; } function setupb() { $this->b->setupa($this); } } class b { var $a; function setupa($a) { $this->a = $a; } } $a = new a; $a->setupb(); echo "<pre>This workx!\r\n"; echo serialize($a); ?>Works 'fine' in PHP_4_3 branch, segfaults with PHP 5: #0 0x813de25 in fast_call_user_function (function_table=0x81c3338, object_pp=0x4029b688, function_name=0xbfe021a8, retval_ptr_ptr=0xbfe02178, param_count=0, params=0x0, no_separation=1, symbol_table=0x0, function_pointer=0xbfe020b4) at /usr/src/web/php/php5/Zend/zend_execute_API.c:477 #1 0x813de10 in call_user_function_ex (function_table=0x81c3338, object_pp=0x4029b688, function_name=0xbfe021a8, retval_ptr_ptr=0xbfe02178, param_count=0, params=0x0, no_separation=1, symbol_table=0x0) at /usr/src/web/php/php5/Zend/zend_execute_API.c:476 #2 0x80fdd63 in php_var_serialize_intern (buf=0xbfffd024, struc=0x4029b688, var_hash=0xbfffd030) at /usr/src/web/php/php5/ext/standard/var.c:555 #3 0x80fe90e in php_var_serialize_intern (buf=0xbfffd024, struc=0x4029b5a0, var_hash=0xbfffd030) at /usr/src/web/php/php5/ext/standard/var.c:620 #4 0x80fe90e in php_var_serialize_intern (buf=0xbfffd024, struc=0x4029b688, var_hash=0xbfffd030) at /usr/src/web/php/php5/ext/standard/var.c:620 #5 0x80fe90e in php_var_serialize_intern (buf=0xbfffd024, struc=0x4029b5a0, var_hash=0xbfffd030) at /usr/src/web/php/php5/ext/standard/var.c:620 #6 0x80fe90e in php_var_serialize_intern (buf=0xbfffd024, struc=0x4029b688, var_hash=0xbfffd030) at /usr/src/web/php/php5/ext/standard/var.c:620 . . . . Frame #6 is repeated couple of thousand times.. :)