라이브러리
[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)
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.