(PHP 7 >= 7.4.0, PHP 8)
sapi_windows_set_ctrl_handler — Establece o elimina un gestor de eventos CTRL
Establece o elimina un gestor de eventos CTRL
, que permite a los procesos CLI de Windows
interceptar o ignorar los eventos CTRL+C
y
CTRL+BREAK
. Tenga en cuenta que en entornos multihilo,
esto solo es posible cuando se llama desde el hilo principal.
handler
Una función de retrollamada a establecer o eliminar. Si se establece, esta función será llamada cada vez que ocurra un evento CTRL +C o CTRL +BREAK . La función debe tener la siguiente firma:
event
PHP_WINDOWS_EVENT_CTRL_C
o PHP_WINDOWS_EVENT_CTRL_BREAK
.
null
handler
hace que el proceso ignore
los eventos
CTRL
+C
o
CTRL
+BREAK
.
add
Si true
, el gestor se establece. Si false
, el gestor se elimina.
Ejemplo #1 Uso básico de sapi_windows_set_ctrl_handler()
Este ejemplo muestra cómo interceptar los eventos CTRL
.
<?php
function ctrl_handler(int $event)
{
switch ($event) {
case PHP_WINDOWS_EVENT_CTRL_C:
echo "Se ha presionado CTRL+C\n";
break;
case PHP_WINDOWS_EVENT_CTRL_BREAK:
echo "Se ha presionado CTRL+BREAK\n";
break;
}
}
sapi_windows_set_ctrl_handler('ctrl_handler');
while (true); // bucle infinito, para que el gestor pueda ser activado
?>