(PHP 7 >= 7.4.0)
sapi_windows_set_ctrl_handler — Set or remove a CTRL event handler
sapi_windows_set_ctrl_handler ( callable $callable [, bool $add = true ] ) : bool
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.
callable
A 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:
handler ( int $event ) : void
event
CTRL
event which has been received; either PHP_WINDOWS_EVENT_CTRL_C
or PHP_WINDOWS_EVENT_CTRL_BREAK
. null
callable
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.
Returns true
on success or false
on failure.
Example #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 ?>
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.sapi-windows-set-ctrl-handler.php