sapi_windows_set_ctrl_handler
(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 イベントが発生した場合にいつでも呼び出されます。 関数のシグネチャは次のとおりです:
event
-
受け取った CTRL イベント;
PHP_WINDOWS_EVENT_CTRL_C
またはPHP_WINDOWS_EVENT_CTRL_BREAK
null
をhandler
に設定すると、 CTRL +C イベント をプロセスに無視させますが、 CTRL +BREAK イベントは無視しません。 add
例
例1 基本的な sapi_windows_set_ctrl_handler() 関数の使い方
以下の例は、 CTRL
イベント にどのように割り込むかを示しています。
<?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); // ハンドラがトリガできるように無限ループにする
?>
参考
- sapi_windows_generate_ctrl_event() - CTRLイベント を別プロセスに送信する
+add a note
User Contributed Notes
There are no user contributed notes for this page.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google