2010-05-05 2 views
2

shell_exec() 표시되지 않습니다 :이 같은 shell_exec() 기능을 사용하는 PHP 사이트하고있어shell_exec()와 간부()는 출력

을 : 잎이 프로그램이

$file = "upload/" . $_FILES["file"]["name"]; 

$output = shell_exec("leaf $file"); 
echo "<pre>$output</pre>"; 

입니다 내 스크립트의 같은 디렉토리에 있지만,이 스크립트를 서버에서 실행하려고했을 때 나는 아무것도 얻지 못했습니다.


exec() :

이 같은 exec()를 사용하여 시도하는 경우 :

exec("sh " . getcwd() . "leaf -h", &$output); 
echo "<pre>"; 
print_r(&$output); 
echo "</pre>"; 

내가 가지고이 :

Array 
(
)

내가 같은 일을하지만, echo를 사용하는 경우 print_r 대신에, 나는 단지 이것을 가지고 있습니다 : Array

나는 무엇을 할 수 있습니까?

답변

2

"리프"참조와 함께 전체 경로를 사용해 보았습니까?

$output = shell_exec("/var/local/leaf $file"); 
+0

그래, 벌써 했어 :'$ output = shell_exec ("sh". getcwd()./leaf $ file "); –

+0

정적 경로를 사용하여 그 경로가 변경되는지 확인할 수 있습니까? getcwd()는 Apache에서 CWD를 얻을 가능성이 높습니다. 이는 아마도 여러분이 생각하는 것과 다를 것입니다. error_log에서 단서를 찾아 볼 수도 있습니다. – gurun8

+0

나는 정적 경로를 넣었고 아무 것도 얻지 못했습니다. –