웹 카메라에 연결하고 릴레이 스크립트를 통해 데이터를 릴레이하려는 과정에서 원치 않는 버퍼링 문제가 발생했습니다. 이러한 장애를 해결하기 위해 PHP의 버퍼링 메커니즘과 이것이 스크립트에 미치는 잠재적인 영향을 자세히 살펴보겠습니다.
버퍼링의 첫 번째 계층 직면하게 될 것은 응답 본문으로 향하는 출력을 독점적으로 관리하고 헤더는 영향을 받지 않는 "출력 버퍼"입니다. 기본적으로 PHP는 이 버퍼에 최대 4096바이트를 버퍼링하여 해당 임계값을 위반하거나 에코 문 및 유사한 출력 생성 작업이 발생할 때 플러시합니다.
이 기본 동작을 재정의하려면 출력을 비활성화하도록 선택할 수 있습니다. php.ini 파일에서 output_buffering 지시문을 Off로 설정하여 버퍼링을 모두 수행합니다. 또는 ob_end_clean() 또는 ob_end_flush()를 초기에 호출하여 개별 스크립트에 대해 이를 비활성화할 수 있습니다.
출력 외에도 버퍼에는 웹 서버에서 사용하는 모든 버퍼와 함께 작동하는 "쓰기 버퍼"로 알려진 추가 버퍼링 계층이 있습니다. mod_php(mod_gzip 없이)와 함께 Apache를 활용하는 경우, 플러시()를 호출하면 출력이 브라우저에 플러시되어 도움이 됩니다. 다른 백엔드에서도 이를 지원할 수 있지만 PHP 매뉴얼에서는 이를 보장하지 않습니다.
마지막으로 자동으로 트리거하는 두 가지 방법이 있습니다. 각 출력 작업 후에 플러시() 호출:
이러한 통찰력을 활용하면 릴레이 스크립트를 괴롭히는 버퍼링 문제를 해결하고 원활한 데이터를 위한 길을 닦을 수 있는 수단을 갖게 됩니다. 스트리밍합니다.
위 내용은 내 웹 카메라에서 데이터를 스트리밍하기 위해 PHP에서 출력 버퍼링을 비활성화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!