|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2005-04-30 10:36 UTC] dmih at in-solve dot ru
Description: ------------ This is repeat of lame "no-feedback" bug http://bugs.php.net/bug.php?id=25876 with some new data. It seems that nobody will pay attention to the old bug with 'no feedback', so I have to make this new one with chance go give all needed feedback this time, because the bug is very annoying. We are using PHP in virtual hosting environment, 1000+ hosts. Apache 1.3 module. We randomly see session_start(): Failed to initialize storage module: user (path: d:\web\temp) on line 2. where on line 2, 3, 4, etc there is only first any command that initialize session. The problem is that the user NEVER set storage module to user! Just never. Not in php.ini, not in scripts, nowhere. We are hosting for 5 years now already and there is no errors in configuration. No Zend, no accelerators/caches, just plain PHP with standard options. I have feeling that this 'user' setting is coming from maybe some other execution task/thread. I also have feeling that one of apache working threads starts to always feel like 'user' session handler. This seems to be related to this bug: http://bugs.php.net/bug.php?id=32330 but situation may be more clear here because 'reproduction code' is surely shorter. Reproduce code: --------------- <? session_start(); Expected result: ---------------- Session startup Actual result: -------------- It works, but with some probability under heavy load: session_start(): Failed to initialize storage module: user (path: d:\web\temp) on line 2. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Nov 02 22:00:01 2025 UTC |
It seems that this code fails to get proper handler setting. /* Open session handler first */ if (PS(mod)->s_open(&PS(mod_data), PS(save_path), PS(session_name) TSRMLS_CC) == FAILURE) { php_error_docref(NULL TSRMLS_CC, E_ERROR, "Failed to initialize storage module: %s (path: %s)", PS(mod)->s_name, PS(save_path)); return; }