Bug #80889 [PATCH]: Cannot set save handler when session.save_handler is invalid

From: Date: Fri, 19 Mar 2021 14:24:09 +0000
Subject: Bug #80889 [PATCH]: Cannot set save handler when session.save_handler is invalid
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232883@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80889&edit=1

 ID:                 80889
 Patch added by:     cmb@php.net
 Reported by:        simon at podlipsky dot net
 Summary:            Cannot set save handler when  session.save_handler
                     is invalid
 Status:             Verified
 Type:               Bug
 Package:            Session related
 Operating System:   macos, debian
 PHP Version:        8.0.3, 7.4.16
 Assigned To:        cmb
 Block user comment: N
 Private report:     N

 New Comment:

The following pull request has been associated:

Patch Name: Fix #80889: Cannot set save handler when save_handler is invalid
On GitHub:  https://github.com/php/php-src/pull/6788
Patch:      https://github.com/php/php-src/pull/6788.patch


Previous Comments:
------------------------------------------------------------------------
[2021-03-19 11:48:00] simon at podlipsky dot net

Reproduced on 7.4.16

------------------------------------------------------------------------
[2021-03-19 11:41:10] simon at podlipsky dot net

Description:
------------
When sesssion.save_handler is set to something unknown eg. 

- 'whatever'
- 'memcached' when memcached is not installed
- Value that reports Warning: ini_set(): Session save handler "XXX" cannot be found
for calling ini_set('session.save_handler', 'XXX');

Then calling session_set_save_handler() has no effect.

Test script:
---------------
Set sesssion.save_handler to 'whatever' in php.ini


```
<?php

$initHandler = ini_get('session.save_handler');

session_set_save_handler(new MyHandlerImpl());

$setHandler = ini_get('session.save_handler');


echo 'Init Handler is: ' . $initHandler . PHP_EOL;
echo 'Set Handler is: ' . $setHandler . PHP_EOL;
```

Expected result:
----------------
Init Handler is: whatever
Set Handler is: user

Actual result:
--------------
Init Handler is: whatever
Set Handler is: whatever


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



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


Thread (5 messages)

« previous php.bugs (#232883) next »