(PHP 7 >= 7.4.0, PHP 8)
sapi_windows_set_ctrl_handler — Définit ou supprime un gestionnaire d'événements CTRL
Définit ou supprime un gestionnaire d'événements CTRL
, qui permet aux processus CLI Windows
d'intercepter ou d'ignorer les événements CTRL+C
et
CTRL+BREAK
. Notez que dans les environnements multithreadés,
cela n'est possible que lorsqu'il est appelé depuis le thread principal.
handler
Une fonction de rappel à définir ou à supprimer. Si définie, cette fonction sera appelée chaque fois qu'un événement CTRL +C ou CTRL +BREAK se produit. La fonction doit avoir la signature suivante :
event
PHP_WINDOWS_EVENT_CTRL_C
soit PHP_WINDOWS_EVENT_CTRL_BREAK
.
null
handler
fait en sorte que le processus ignore
les événements
CTRL
+C
ou
CTRL
+BREAK
add
Si true
, le gestionnaire est défini. Si false
, le gestionnaire est supprimé.
Exemple #1 Utilisation basique de sapi_windows_set_ctrl_handler()
Cette exemple montre comment intercepter les événements CTRL
.
<?php
function ctrl_handler(int $event)
{
switch ($event) {
case PHP_WINDOWS_EVENT_CTRL_C:
echo "You have pressed CTRL+C\n";
break;
case PHP_WINDOWS_EVENT_CTRL_BREAK:
echo "You have pressed CTRL+BREAK\n";
break;
}
}
sapi_windows_set_ctrl_handler('ctrl_handler');
while (true); // infinite loop, so the handler can be triggered
?>