HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/php/83/src/ext/session/tests/user_session_module/session_set_save_handler_error4.phpt
--TEST--
Test session_set_save_handler() function : error functionality
--EXTENSIONS--
session
--FILE--
<?php

ob_start();

echo "*** Testing session_set_save_handler() : error functionality ***\n";

function callback() { return true; }

try {
    session_set_save_handler("callback", "callback", "callback", "callback", "callback", "callback");
} catch (TypeError $exception) {
    echo $exception->getMessage() . "\n";
}

try {
    session_set_save_handler("callback", "echo", "callback", "callback", "callback", "callback");
} catch (TypeError $exception) {
    echo $exception->getMessage() . "\n";
}

try {
    session_set_save_handler("callback", "callback", "echo", "callback", "callback", "callback");
} catch (TypeError $exception) {
    echo $exception->getMessage() . "\n";
}

try {
    session_set_save_handler("callback", "callback", "callback", "echo", "callback", "callback");
} catch (TypeError $exception) {
    echo $exception->getMessage() . "\n";
}

try {
    session_set_save_handler("callback", "callback", "callback", "callback", "echo", "callback");
} catch (TypeError $exception) {
    echo $exception->getMessage() . "\n";
}

try {
    session_set_save_handler("callback", "callback", "callback", "callback", "callback", "echo");
} catch (TypeError $exception) {
    echo $exception->getMessage() . "\n";
}

session_set_save_handler("callback", "callback", "callback", "callback", "callback", "callback");

var_dump(session_start());
ob_end_flush();
?>
--EXPECTF--
*** Testing session_set_save_handler() : error functionality ***
session_set_save_handler(): Argument #2 ($close) must be a valid callback, function "echo" not found or invalid function name
session_set_save_handler(): Argument #3 ($read) must be a valid callback, function "echo" not found or invalid function name
session_set_save_handler(): Argument #4 ($write) must be a valid callback, function "echo" not found or invalid function name
session_set_save_handler(): Argument #5 ($destroy) must be a valid callback, function "echo" not found or invalid function name
session_set_save_handler(): Argument #6 ($gc) must be a valid callback, function "echo" not found or invalid function name

Warning: session_start(): Failed to read session data: user (%s) in %s on line %d
bool(false)