#39619 [Bgs->Opn]: custom session save handler looses current directory
| From: | thbley at gmail dot com | Date: | Sat, 25 Nov 2006 09:49:20 +0000 |
| Subject: | #39619 [Bgs->Opn]: custom session save handler looses current directory | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-105432@lists.php.net to get a copy of this message | ||
ID: 39619
User updated by: thbley at gmail dot com
Reported By: thbley at gmail dot com
-Status: Bogus
+Status: Open
Bug Type: Session related
Operating System: WinXP SP2
PHP Version: 5.2.0
New Comment:
So can you update the documentation on
http://www.php.net/manual/en/function.session-set-save-handler.php
? I
think this would save the people a lot of time if they know that they
have to use absolute paths here.
Previous Comments:
------------------------------------------------------------------------
[2006-11-24 15:20:01] tony2001@php.net
The fact that ext/session is affected by shutdown order sequence is a
known problem, but unfortunately noone is willing to rewrite
ext/session from scratch, which is most likely required to get this
problem fixed.
------------------------------------------------------------------------
[2006-11-24 15:13:04] thbley at gmail dot com
Yes adding session_write_close() works but this means I need to call it
every time I call exit(), die(), return etc. ... not very comfortable
for bigger programs.
The documentation doesn't state the directory change, see
http://de.php.net/manual/en/function.session-set-save-handler.php
------------------------------------------------------------------------
[2006-11-24 15:04:41] tony2001@php.net
Please add session_write_close() to the end of the script and see if it
works for you.
------------------------------------------------------------------------
[2006-11-24 14:59:18] thbley at gmail dot com
Description:
------------
I'm using a custom session save handler. When the write function is
called, the current directory is changed to the apache bin directory.
This breaks when using relative paths for storing session data.
Reproduce code:
---------------
session_set_save_handler("none","none","read","write","none","none");
session_start();
echo "2 ".getcwd()."<br>";
function none() {
return true;
}
function read($id) {
echo "1 ".getcwd()."<br>";
}
function write($id,$val) {
echo "3 ".getcwd()."<br>";
}
Expected result:
----------------
1 H:\sgs\src
Warning: session_start() [function.session-start]: Cannot send session
cache limiter - headers already sent (output started at
H:\sgs\src\test_session.php:14) in H:\sgs\src\test_session.php on line
5
2 H:\sgs\src
3 H:\sgs\src
Actual result:
--------------
1 H:\sgs\src
Warning: session_start() [function.session-start]: Cannot send session
cache limiter - headers already sent (output started at
H:\sgs\src\test_session.php:14) in H:\sgs\src\test_session.php on line
5
2 H:\sgs\src
3 H:\Development\Apache2_php5\bin
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=39619&edit=1