2013-08-27 4 views
3

다음 코드를타르 유틸리티, PHP 및 간부

echo "tar -cvf $outpath -C $path $file<br>"; 
$arr = array(); 
$val = exec("tar -cvf $outpath -C $path $file", $arr); 
var_dump($arr); 

echo 출력 tar -cvf ../folder/subfolder1/1234.tar -C ../folder/ subfolder2을 고려 내가 htdocs에 폴더에서 명령 줄에서 호출 할 경우,이 명령은 정말 아카이브를 만들 수 있습니다. 그러나 임원은 아무 것도하지 않습니다. var_dump($arr)은 빈 배열을 인쇄합니다. 그래서 여기

  1. 가 어떻게 exec은 아카이브를 생성 할 수있는 질문은?
  2. 빈 배열이 출력되는 이유는 무엇입니까?

UPD. 유의 사항, Windows를 실행 중입니다.

+0

shell_exec ('....') maybe? http://stackoverflow.com/questions/2173443/php-shell-tar-problem-return-code-2 – DrColossos

+0

@ DrColossos,'shell_exec'도 아무 것도 출력하지 않습니다. – Eugeny89

답변

3

이 질문을 읽는 사용자 : 2>&1을 명령에 추가하면 도움이됩니다. 그리고 sheel 대신에 shell_exec을 사용했습니다.

$val = shell_exec("tar -cvf $outpath -C $path $file 2>&1"); 
echo "$val"; // prints output from tar