swoole_http_response 메소드 헤더, 상태, 종료를 사용하여 점프를 달성하세요
코드는 다음과 같습니다
<code> public function redirect($url) { $this->header("Location", $url); $this->status(302); return $this->end(''); }</code>
그러나 리디렉션()을 사용한 후에는 프로그램이 중단되지 않고 계속 실행됩니다.
나중에 프로그램이 계속 실행되지 않도록 예외를 발생시켜 프로그램을 중단했지만 이 방법으로 인해 작업자가 다시 시작되었습니다.
질문: 페이지 점프 후 즉시 프로그램을 중단하고 실행을 계속하지 않지만 페이지가 즉시 점프하도록 하는 좋은 방법이 있습니까? 프로그램을 중단시키기 위해 예외를 던지는 메소드를 사용하지 않아야 합니다
점프를 달성하려면 swoole_http_response 메소드 헤더, 상태, 끝을 사용하세요
코드는 다음과 같습니다
<code> public function redirect($url) { $this->header("Location", $url); $this->status(302); return $this->end(''); }</code>
그러나 리디렉션()을 사용한 후에는 프로그램이 중단되지 않고 계속 실행됩니다.
나중에 프로그램이 계속 실행되지 않도록 예외를 발생시켜 프로그램을 중단했지만 이 방법으로 인해 작업자가 다시 시작되었습니다.
질문: 페이지 점프 후 즉시 프로그램을 중단하고 실행을 계속하지 않지만 페이지가 즉시 점프하도록 하는 좋은 방법이 있습니까? 프로그램을 중단시키기 위해 예외를 던지는 메소드를 사용하지 않아야 합니다
exit(0)이라고 말하고 싶었는데 좀 잘못된 느낌이었습니다
저는 swoole을 사용해본 적이 없고, swoole 문서만 봤습니다.
swoole_http_response->end
Http 응답 본문을 보내고 요청 처리를 종료합니다.
swoole_http_response->end(string $html);
종료 작업 후 HTML 콘텐츠가 클라이언트 브라우저로 전송되고 $request/$response 개체가 삭제됩니다.
KeepAlive가 켜져 있는 경우 켜면 연결이 유지되고 서버는 다음 요청을 기다립니다.
KeepAlive가 활성화되지 않으면 서버가 연결을 끊습니다
end() 이후에는 $response 객체가 소멸되고 http 응답이 완료되며 비즈니스 코드가 실행되지 않아야 합니다.
http://wiki.swoole.com/wiki/p...
리액터는 nginx, 워커는 php-fpm으로 이해하시면 됩니다. 리액터 스레드는 네트워크 요청을 비동기식 및 병렬로 처리한 다음 처리를 위해 작업자 프로세스에 전달합니다. 원자로와 작업자는 IPC를 통해 통신합니다.Swoole의 리액터, 워커, task_worker를 긴밀하게 결합하여 더욱 발전된 활용도를 제공할 수 있습니다.
더 일반적인 비유로, 서버가 공장이고 리액터가 판매라고 가정하면 프로젝트 주문을 받는 데 도움이 됩니다. 영업사원이 주문을 받으면 작업자는 고객이 원하는 것을 생산하기 위해 출근합니다. Task_worker는 근로자가 업무에 집중할 수 있도록 일부 집안일을 도와줄 수 있는 행정직원으로 이해될 수 있습니다.
Waker를 다시 시작해도 효과가 없는 것 같습니다.