ConFoo 2025

sapi_windows_set_ctrl_handler

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_set_ctrl_handlerУстановить или удалить обработчик события CTRL

Описание

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

Устанавливает или удаляет обработчик события CTRL, который позволит процессам Windows CLI перехватывать или игнорировать события CTRL+C и CTRL+BREAK. Обратите внимание, что в многопоточном окружение это возможно только при вызове из главного потока.

Список параметров

handler

Функция обратного вызова, которая будет установлена или удалена. Эта функция будет вызываться при наступлении событий CTRL +C и CTRL +BREAK . Функция должна иметь следующую сигнатуру:

handler(int $event): void
event
Полученное событие CTRL; PHP_WINDOWS_EVENT_CTRL_C или PHP_WINDOWS_EVENT_CTRL_BREAK.
Установка параметра handler в значение null приведёт к игнорированию событий CTRL +C , но не CTRL +BREAK .

add

Если true, то обработчик будет установлен. Если false, то удалён.

Возвращаемые значения

Функция возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Использование sapi_windows_set_ctrl_handler()

В этом примере показано, как перехватывать события CTRL.

<?php
function ctrl_handler(int $event)
{
switch (
$event) {
case
PHP_WINDOWS_EVENT_CTRL_C:
echo
"Вы нажали CTRL+C\n";
break;
case
PHP_WINDOWS_EVENT_CTRL_BREAK:
echo
"Вы нажали CTRL+BREAK\n";
break;
}
}

sapi_windows_set_ctrl_handler('ctrl_handler');
while (
true); // Бесконечный цикл
?>

Смотрите также

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top