라이브러리

[PHP] SwooleServer::protect - 연결을 보호 모드로 설정합니다.




SwooleServer::protect


SwooleServer::protect는 Swoole 서버의 보호 기능입니다. 이 기능은 서버의 안정성을 향상시키고, 공격을 방지하는 데 도움이 됩니다. protect는 스레드의 보호를 제공하며, 스레드가 종료되거나 오류가 발생할 때, 서버가 멈추지 않고 계속 작동할 수 있도록 합니다.

사용법


SwooleServer::protect를 사용하려면, Swoole 서버를 생성하고, protect를 설정해야 합니다.

#hostingforum.kr
php

use SwooleHttpServer;



$server = new Server('127.0.0.1', 9501);



$server->set([

    'worker_num' => 4,

    'protect' => true,

]);



$server->on('start', function ($server) {

    echo "Server start...
";

});



$server->on('workerStart', function ($server, $workerId) {

    echo "Worker $workerId start...
";

});



$server->on('workerStop', function ($server, $workerId) {

    echo "Worker $workerId stop...
";

});



$server->on('workerError', function ($server, $workerId, $workerPid, $exitCode) {

    echo "Worker $workerId error, pid: $workerPid, exit code: $exitCode
";

});



$server->start();



옵션


SwooleServer::protect에는 여러 옵션이 있습니다.

- `protect`: 보호를 활성화합니다. 기본값은 false입니다.
- `protect_timeout`: 보호를 활성화할 때, 스레드가 종료되거나 오류가 발생한 후, 서버가 멈추지 않도록 하는 시간을 설정합니다. 기본값은 0입니다.
- `protect_backtrace`: 보호를 활성화할 때, 스레드의 백트레이스를 로그에 기록합니다. 기본값은 false입니다.

예제


#hostingforum.kr
php

use SwooleHttpServer;



$server = new Server('127.0.0.1', 9501);



$server->set([

    'worker_num' => 4,

    'protect' => true,

    'protect_timeout' => 10,

    'protect_backtrace' => true,

]);



$server->on('start', function ($server) {

    echo "Server start...
";

});



$server->on('workerStart', function ($server, $workerId) {

    echo "Worker $workerId start...
";

});



$server->on('workerStop', function ($server, $workerId) {

    echo "Worker $workerId stop...
";

});



$server->on('workerError', function ($server, $workerId, $workerPid, $exitCode) {

    echo "Worker $workerId error, pid: $workerPid, exit code: $exitCode
";

});



$server->start();



참고


- [Swoole 공식 문서](https://wiki.swoole.com/wiki/page/497.html)
- [Swoole protect 옵션](https://wiki.swoole.com/wiki/page/497.html#protect)
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 95 페이지

검색

게시물 검색