sapi_windows_set_ctrl_handler
(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.
参数
handler
-
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:
event
-
The CTRL event which has been received;
either
PHP_WINDOWS_EVENT_CTRL_C
orPHP_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. Iffalse
, 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
?>
参见
- sapi_windows_generate_ctrl_event() - Send a CTRL event to another process
用户贡献的备注
备份地址:http://www.lvesu.com/blog/php/function.sapi-windows-set-ctrl-handler.php