2013-05-30 2 views
1

내 PHP 스크립트에서 shell_exec()과 함께 하나의 linux 명령을 실행하고 있습니다.php- 어떻게 명령을 실행하는 동안 리눅스 터미널에서 shell_exec() 출력을 얻을 수 있습니까?

$output = shell_exec('/usr/bin/linux-command '); 

After 변수의 값을 가져 오는 중입니다. 괜찮아.
그러나 여기 내 linux 명령은 출력을 continuously in terminal으로 줄 것입니다.
그것은 다음과 같이 올 것이다 ..

$linux-command 
123 456 789 
789 456 123 
123 456 789 .. //and so on..(by pressing 'Ctrl+c' only we can stop this. 

을 매 5 초 동안 한 줄을 표시합니다. 매 5 초마다 회선을 검색하는 방법.
내 페이지가로드 중입니다 ........ 왜냐하면 $output을 기다리고 있기 때문입니다.
내 문제를 해결할 방법이 있습니까?
어떤 아이디어라도 환영합니다. 당신은 경유 기능을 시도 popen을 사용 자세한 내용은 popen manual

+1

은 흠 http://stackoverflow.com/questions/9791875/how-to-run-shell-script-with-live-feedback-from-php – devnull

답변

1

에 대한 설명서를 확인하실 수 있습니다 사전

+0

를 참조하십시오. 왜 페이지가 로딩 중입니까? ...... 아무것도 보이지 않습니다 .. @lexmihaylov 웹 페이지에 직접 출력하고 싶지 않은 방법이 있습니다. 나는 ** table ** –

+0

에 결과를 원한다. 나는 당신이 웹 스크립트가 아닌 cli 스크립트에 대해 이야기하고 있다고 생각했다. – lexmihaylov

+0

흠. shell_exec ($ command. '>'. $ filename. '2>'. $ filename. '&'); 그리고 그 후에 잠정적으로 $ filename의 내용을 ajax 메소드로 가져 와서 파싱하고 무엇인가 할 수 있습니까? – lexmihaylov

0

에 감사드립니다. 출력이 직접 표시됩니다. 이 작은 스크립트를 테스트 할 수

<?php 
passthru('tail -f /var/log/apache2/access.log'); 
?>