1--TEST-- 2Test session_set_save_handler() function: interface wrong 3--EXTENSIONS-- 4session 5--FILE-- 6<?php 7 8$validCallback = function () { return true; }; 9$deprecatedCallback = function () { return 0; }; 10$exceptionCallback = function () { return []; }; 11 12ob_start(); 13 14try { 15 $ret = session_set_save_handler($exceptionCallback, $validCallback, $validCallback, $validCallback, $validCallback, $validCallback); 16 session_start(); 17} catch (TypeError $exception) { 18 echo $exception->getMessage() . "\n"; 19} 20 21try { 22 $ret = session_set_save_handler($deprecatedCallback, $validCallback, $validCallback, $validCallback, $validCallback, $validCallback); 23 session_start(); 24} catch (TypeError $exception) { 25 echo $exception->getMessage() . "\n"; 26} 27 28try { 29 $ret = session_set_save_handler($validCallback, $exceptionCallback, $validCallback, $validCallback, $validCallback, $validCallback); 30 session_start(); 31} catch (TypeError $exception) { 32 echo $exception->getMessage() . "\n"; 33} 34 35try { 36 $ret = session_set_save_handler($validCallback, $deprecatedCallback, $exceptionCallback, $validCallback, $validCallback, $validCallback); 37 session_start(); 38} catch (TypeError $exception) { 39 echo $exception->getMessage() . "\n"; 40} 41 42ob_end_flush(); 43 44?> 45--EXPECTF-- 46Deprecated: Calling session_set_save_handler() with more than 2 arguments is deprecated in %s on line %d 47Session callback must have a return value of type bool, array returned 48 49Deprecated: Calling session_set_save_handler() with more than 2 arguments is deprecated in %s on line %d 50 51Deprecated: session_start(): Session callback must have a return value of type bool, int returned in %s on line %d 52 53Warning: session_start(): Failed to read session data: user (%s) in %s on line %d 54 55Deprecated: Calling session_set_save_handler() with more than 2 arguments is deprecated in %s on line %d 56Session callback must have a return value of type bool, array returned 57 58Deprecated: Calling session_set_save_handler() with more than 2 arguments is deprecated in %s on line %d 59 60Deprecated: session_start(): Session callback must have a return value of type bool, int returned in %s on line %d 61 62Warning: session_start(): Failed to read session data: user (%s) in %s on line %d 63