PHP 8.4 changed exit and die to functions, so this call has no effect. Instead you can redefine those functions to do nothing.
<?php
function allow_exit( bool $allow ) {
if ( PHP_VERSION_ID < 80400 ) {
uopz_allow_exit( $allow );
} elseif ( $allow ) {
uopz_unset_return( 'exit' );
uopz_unset_return( 'die' );
} else {
uopz_set_return('exit', static function() {});
uopz_set_return('die', static function() {});
}
}
?>
Test:
<?php
echo "Calling die() with allow_exit(false)\n";
allow_exit( false );
die();
echo "Calling die() with allow_exit(true)\n";
allow_exit( true );
die();
echo "Unreachable\n";
?>
Calling die() with allow_exit(false)
Calling die() with allow_exit(true)uopz_allow_exit
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
uopz_allow_exit
Референца за `function.uopz-allow-exit.php` со подобрена типографија и навигација.
uopz_allow_exit
(PECL uopz 5, PECL uopz 6, PECL uopz 7)
uopz_allow_exit — Овозможува контрола над оневозможениот излезен код
= NULL
Стандардно, uopz го оневозможува излезниот код, така што exit() повиците се практично игнорирани. uopz_allow_exit() овозможува контрола на ова однесување.
Параметри
allow-
Дали да се дозволи извршување на излезни кодови или не.
Вратени вредности
Не се враќа вредност.
Примери
Пример #1 uopz_allow_exit() example
<?php
exit(1);
echo 1;
uopz_allow_exit(true);
exit(2);
echo 2;
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
1
Белешки
OPcache оптимизира мртов код по безусловен излез.
Види Исто така
- uopz_get_exit_status() - Врати го последниот поставен статус на излез