기타 sapi_windows_set_ctrl_handler

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_set_ctrl_handler — CTRL 이벤트 핸들러 설정 또는 제거


설명

sapi_windows_set_ctrl_handler(?callable $handler, bool $add = true): bool

Windows CLI 프로세스가 CTRL+C 및 CTRL+BREAK 이벤트를 가로채거나 무시할 수 있도록 하는 CTRL 이벤트 처리기를 설정하거나 제거합니다. 다중 스레드 환경에서 이는 주 스레드에서 호출될 때만 가능합니다.


매개변수

handler
설정하거나 제거할 콜백 함수입니다. 설정하면 CTRL+C 또는 CTRL+BREAK 이벤트가 발생할 때마다 이 함수가 호출됩니다. 함수에는 다음 서명이 있어야 합니다.

handler(int $event): void

event
수신된 CTRL 이벤트. PHP_WINDOWS_EVENT_CTRL_C 또는 PHP_WINDOWS_EVENT_CTRL_BREAK.

null handler를 설정하면 프로세스가 CTRL+C 이벤트를 무시하지만 CTRL+BREAK 이벤트는 무시하지 않습니다.

add
true이면 핸들러가 설정됩니다. false이면 핸들러가 제거됩니다.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


Examples

예제 #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); // infinite loop, so the handler can be triggered
?>
                  
                

기타