(PHP 7 >= 7.4.0, PHP 8)
sapi_windows_set_ctrl_handler — Set or remove a CTRL event handler
   Sets or removes a CTRL event handler, which allows Windows
   CLI processes to intercept or ignore CTRL+C and
   CTRL+BREAK events. Note that in multithreaded environments,
   this is only possible when called from the main thread.
  
handlerA callback function to set or remove. If set, this function will be called whenever a CTRL +C or CTRL +BREAK event occurs. The function is supposed to have the following signature:
eventPHP_WINDOWS_EVENT_CTRL_C
          or PHP_WINDOWS_EVENT_CTRL_BREAK.
         
        null handler causes the process to ignore
      
       CTRL
       +C
      
      events, but not
      
       CTRL
       +BREAK
      
      events.
     
    add
      If true, the handler is set. If false, the handler is removed.
     
示例 #1 Basic sapi_windows_set_ctrl_handler() Usage
     This example shows how to intercept CTRL events.
   
<?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
?>