최근 PHP를 사용하여 cli에서 소프트웨어를 개발했는데 이런 문제가 발생했습니다. 저는 PHP 스크립트에서 출력을 수집하고 싶었기 때문에 출력을 수집하고 콘솔 인터페이스에도 인쇄하는 두 가지 함수 ob_start 및 ob_end_flush를 사용했습니다. 제가 묻고 싶은 것은 PHP가 콘솔에 정보를 출력하는 것을 방지하는 방법이 있는지입니다. 원칙적으로 이 소프트웨어는 콘솔에 어떤 것도 인쇄하는 것을 허용하지 않습니다.
php-cli 자체는 웹 서버와 독립적으로 스크립트를 실행합니다. 지금 얻는 데이터를 어떻게 얻었는지 모르겠습니다. cli를 통해 php 프로그램을 실행하여 반환된 값을 얻지 못한 경우 ob_get_clean()
을 사용하면 캐시된 콘텐츠를 가져온 다음 캐시 영역을 지울 수 있습니다. 이렇게 하면 언급하지 않은 효과를 얻을 수 있습니다.
물론 버퍼 콘텐츠를 가져온 다음 이를 지운 다음(콘솔에 출력하지 않도록 제어) 콘텐츠를 웹 서버에 플래시하여 처리할 수도 있습니다.
위 방법대로 진행되었습니다. 이전에 이 일련의 기능을 사용해 본 적이 있지만 너무 오랫동안 사용하지 않아서 잊어버렸습니다.
지금 우리가 작업하고 있는 것은 PHP 기반의 다중 프로세스 HTTP 동적 서버입니다. 졸업논문은 시험작일 뿐 실용성이 전혀 없습니다.
php-cgi 프로그램의 실행 결과는 표준 입출력이므로, 표준 입출력을 통해서만 출력 결과를 가로챌 수 있어야 하는데, 그렇게 하지 않겠습니다. 🎜>
이상입니다. 모두 마음에 드셨으면 좋겠습니다. Ob_start 및 PHP의 기타 기능이 표준 출력을 가로채는 방법에 대한 자세한 내용을 보려면 PHP 중국어 웹사이트에 주목하세요!