(PHP 7 >= 7.4.0, PHP 8)
sapi_windows_set_ctrl_handler — Установить или удалить обработчик события CTRL
Устанавливает или удаляет обработчик события CTRL,
который позволит процессам Windows CLI перехватывать или
игнорировать события CTRL+C и
CTRL+BREAK. Обратите внимание, что в
многопоточном окружение это возможно только при вызове
из главного потока.
handlerФункция обратного вызова, которая будет установлена или удалена. Эта функция будет вызываться при наступлении событий CTRL +C и CTRL +BREAK . Функция должна иметь следующую сигнатуру:
eventPHP_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); // Бесконечный цикл
?>