diff options
| author | Christoph M. Becker <cmbecker69@gmx.de> | 2021-03-22 22:14:01 +0100 |
|---|---|---|
| committer | Christoph M. Becker <cmbecker69@gmx.de> | 2021-03-22 22:17:35 +0100 |
| commit | 838951c2d6612efbf6adeb5b1abc7fced808dc39 (patch) | |
| tree | 4c67398ff8c3101fa99d1d278dc9678e73ffb097 /ext/session/tests | |
| parent | bc7ea73da59dde1c205859b73768593cc37de31d (diff) | |
| download | php-git-838951c2d6612efbf6adeb5b1abc7fced808dc39.tar.gz | |
Fix #80889: amendment
`session_set_save_handler()` may be called with callables instead of an
object; we need to cater to that as well.
We also extract a set_user_save_handler_ini() function to avoid code
duplication.
Closes GH-6796.
Diffstat (limited to 'ext/session/tests')
| -rw-r--r-- | ext/session/tests/bug80889a.phpt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/session/tests/bug80889a.phpt b/ext/session/tests/bug80889a.phpt new file mode 100644 index 0000000000..ff0c025382 --- /dev/null +++ b/ext/session/tests/bug80889a.phpt @@ -0,0 +1,35 @@ +--TEST-- +Bug #80889 (Cannot set save handler when save_handler is invalid) +--SKIPIF-- +<?php include('skipif.inc'); ?> +--INI-- +session.save_handler=whatever +--FILE-- +<?php +$initHandler = ini_get('session.save_handler'); +session_set_save_handler( + function ($savePath, $sessionName) { + return true; + }, + function () { + return true; + }, + function ($id) { + return ''; + }, + function ($id, $data) { + return true; + }, + function ($id) { + return true; + }, + function ($maxlifetime) { + return true; + } +); +$setHandler = ini_get('session.save_handler'); +var_dump($initHandler, $setHandler); +?> +--EXPECT-- +string(8) "whatever" +string(4) "user" |
