Forum PHP 2025

uopz_allow_exit

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_allow_exitPermite controlar el opcode exit desactivado

Descripción

uopz_allow_exit(bool $allow): void

Por omisión, uopz desactiva el opcode exit, por lo que las llamadas a exit() son prácticamente ignoradas. uopz_allow_exit() permite controlar este comportamiento.

Parámetros

allow

Permitir o no la ejecución de los opcodes exit.

Valores devueltos

No se retorna ningún valor.

Ejemplos

Ejemplo #1 Ejemplo de uopz_allow_exit()

<?php
exit(1);
echo
1;
uopz_allow_exit(true);
exit(
2);
echo
2;
?>

El ejemplo anterior mostrará :

1

Notas

Precaución

OPcache optimiza el código muerto después de una salida incondicional.

Ver también

add a note

User Contributed Notes 1 note

up
0
ryan dot marquardt at gmail dot com
13 days ago
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)
To Top