PHP Conference Nagoya 2025

sapi_windows_set_ctrl_handler

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_set_ctrl_handlerDéfinit ou supprime un gestionnaire d'événements CTRL

Description

sapi_windows_set_ctrl_handler(?callable $handler, bool $add = true): bool

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.

Liste de paramètres

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 :

handler(int $event): void
event
L'événement CTRL qui a été reçu ; soit PHP_WINDOWS_EVENT_CTRL_C soit PHP_WINDOWS_EVENT_CTRL_BREAK.
Définir un 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é.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

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
?>

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top