mirror of
https://github.com/php/php-src.git
synced 2026-03-26 01:02:25 +01:00
exit() is now internally implemented by throwing an exception, performing a normal stack unwind and a clean shutdown. This ensures that no persistent resource leaks occur. The exception is internal, cannot be caught and does not result in the execution of finally blocks. This may be relaxed in the future. Closes GH-5768.
46 lines
752 B
PHP
46 lines
752 B
PHP
--TEST--
|
|
Bug #60634 (Segmentation fault when trying to die() in SessionHandler::write())
|
|
--INI--
|
|
session.save_path=
|
|
session.name=PHPSESSID
|
|
session.save_handler=files
|
|
--SKIPIF--
|
|
<?php include('skipif.inc'); ?>
|
|
--FILE--
|
|
<?php
|
|
|
|
ob_start();
|
|
|
|
function open($save_path, $session_name) {
|
|
return true;
|
|
}
|
|
|
|
function close() {
|
|
die("close: goodbye cruel world\n");
|
|
}
|
|
|
|
function read($id) {
|
|
return '';
|
|
}
|
|
|
|
function write($id, $session_data) {
|
|
die("write: goodbye cruel world\n");
|
|
}
|
|
|
|
function destroy($id) {
|
|
return true;
|
|
}
|
|
|
|
function gc($maxlifetime) {
|
|
return true;
|
|
}
|
|
|
|
session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');
|
|
session_start();
|
|
session_write_close();
|
|
echo "um, hi\n";
|
|
|
|
?>
|
|
--EXPECT--
|
|
write: goodbye cruel world
|