PHP 개발 중에 캐싱 메커니즘은 프로그램 성능을 효과적으로 향상시킬 수 있지만 때로는 캐시를 디버깅하고 캐시 동작을 볼 수 있도록 잠재적 인 문제를 발견해야합니다. PHP는 출력 버퍼를 관리하고 디버그하는 데 도움이되는 여러 기능을 제공합니다. 그 중에서 OB_LIST_HANDLERS는 현재 활성 출력 버퍼 처리기를 나열하고 프로그램의 캐시 작동을 이해하는 데 도움이되는 매우 유용한 기능입니다.
OB_LIST_HANDLERS는 현재 등록 된 모든 출력 버퍼 핸들러 이름을 포함하는 배열을 반환하는 PHP 내장 기능입니다. 각 핸들러는 출력 버퍼에 해당하며 PHP는 응답 출력을 처리 할 때 핸들러를 등록하여 출력을 조작 할 수 있습니다.
이러한 처리기를 디버깅하면 캐시 작동 방식, 캐시 된 데이터가 올바르게 출력되지 않는 문제가 있는지 또는 페이지의 성능에 영향을 미치는 불필요한 캐시 처리가 있는지 여부를 결정할 수 있습니다.
먼저 출력 버퍼를 활성화해야합니다. 일반적으로 출력 버퍼는 OB_START () 함수로 시작한 후 OB_END_FLUSH () 또는 OB_FLUSH ()를 사용하여 버퍼 컨텐츠를 처리 할 수 있습니다.
그런 다음 OB_LIST_HANDLERS를 사용하여 현재 활성 버퍼 핸들러를보십시오.
<?php
// 출력 버퍼를 시작하십시오
ob_start();
// 일부 내용을 출력하십시오
echo "This is a test of the output buffer.";
// 사용 ob_list_handlers 현재 출력 버퍼 핸들러를 가져옵니다
$handlers = ob_list_handlers();
// 현재 버퍼 핸들러를 출력하십시오
echo "<pre>";
print_r($handlers);
echo "</pre>";
// 끝 및 출력 버퍼 컨텐츠
ob_end_flush();
?>
출력 버퍼 활성화 :
OB_START ()는 출력 버퍼를 시작합니다. 현재 모든 출력은 브라우저로 직접 전송되지 않지만 버퍼에 일시적으로 저장됩니다.
출력 내용 :
에코는 버퍼에 텍스트를 인쇄합니다.
출력 버퍼 핸들러를 받고 인쇄하십시오.
OB_LIST_HANDLERS () 현재 등록 된 모든 출력 버퍼 핸들러가 포함 된 배열을 반환합니다. 모든 활성 버퍼 핸들러를 볼 수 있도록 인쇄 할 수 있습니다.
버퍼를 끝내고 출력하십시오.
OB_END_FLUSH ()는 현재 버퍼를 종료하고 내용을 브라우저로 보냅니다.
복잡한 PHP 응용 프로그램을 디버깅하고 출력 버퍼 처리에 다른 컨텐츠가 포함될 수 있다고 가정합니다. 예를 들어 압축 출력 핸들러 또는 캐시 된 데이터 핸들러가있을 수 있습니다. OB_LIST_HANDLERS ()를 호출하여 현재 등록 된 핸들러를 확인하고 예상대로 작동하는지 확인할 수 있습니다.
Array
(
[0] => ob_gzhandler
)
페이지가 느리게로드되거나 캐시가 예상대로 작동하지 않다고 가정하면 OB_LIST_HANDLERS를 통해 추가 출력 버퍼 처리기를 확인할 수 있습니다. 예를 들어, 일부 압축 핸들러는 불필요 할 때 콘텐츠를 압축하여 페이지의로드에 영향을 미칩니다.
OB_GZHANDLER (컨텐츠 압축)와 같은 여러 핸들러가 있음을 알 수 있고,이 처리기는 경우에 따라 가능하지 않다면,이를 비활성화하거나 동작을 디버깅하여 성능이 향상되었는지 확인할 수 있습니다.
보기 핸들러 :
OB_LIST_HANDLERS ()를 사용하여 현재 처리기를보십시오. 여러 압축 처리기를 찾으면 일부 플러그인이나 미들웨어에 필요하지 않은 경우 압축이 가능할 수 있습니다.
불필요한 핸들러 제거 :
OB_END_CLEAN () 또는 OB_FLUSH ()를 사용하여 버퍼 내용을 수동으로 지우고 불필요한 핸들러를 제거하십시오.
출력 버퍼 최적화 :
디버깅 결과를 기반으로 프로그램의 출력 버퍼 전략을 최적화하십시오. 예를 들어, 불필요한 압축 처리기를 비활성화하거나 버퍼의 내용을 직접 출력하십시오.
OB_LIST_HANDLERS는 PHP 캐시 문제를 디버깅하는 데 매우 유용한 도구입니다. 개발자는 현재 활성화 된 버퍼 처리기를보고 캐시 관련 문제를 분석하고 해결하는 데 도움이됩니다. 출력 버퍼를 올바르게 사용함으로써 개발자는 페이지 로딩 속도를 향상시키고 불필요한 캐시 처리의 성능 영향을 피할 수 있습니다.
<div style = "높이 : 20px;"> </div>