popen() 및 passthru()를 사용하여 PHP로 실시간 출력
PHP의 shell_exec() 함수를 사용하면 명령을 실행하고 명령을 캡처할 수 있습니다. 산출. 그러나 명령 실행 중 출력을 실시간으로 표시하는 것은 shell_exec() 또는 system(), exec() 또는 passthru()와 같은 기타 내장 함수를 사용하여 불가능합니다.
실시간 출력의 경우 popen( ) 대신에. 프로세스에 대한 파이프를 열고 마치 파일인 것처럼 입력/출력을 읽거나 쓸 수 있습니다.
즉시 출력을 위한 Passthru():
명령 완료를 기다리지 않고 사용자에게 직접 출력을 표시해야 하는 경우 다음을 사용할 수 있습니다. passthru():
echo '<pre class="brush:php;toolbar:false">'; passthru($cmd); echo '';
실시간 출력을 위한 Popen():
명령이 실행될 때 출력을 실시간으로 표시하려면 popen() 및 a를 사용합니다. while 루프:
while (@ ob_end_flush()); // end output buffers $proc = popen($cmd, 'r'); echo '<pre class="brush:php;toolbar:false">'; while (!feof($proc)) { echo fread($proc, 4096); @ flush(); } echo '';
이 코드는 명령에 대한 파이프를 열고 출력을 청크로 읽어서 표시합니다.
유용한 정보:
위 내용은 PHP 셸 명령에서 실시간 출력을 얻으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!