2011-03-14 82 views
3

我正在運行一個SCO Unix框與Apache版本1.3.33和PHP版本4.4。我可以通過cli正確執行exec命令,但遇到試圖通過瀏覽器執行腳本的麻煩。我的設置是:PHP的exec/shell_exec /系統不通過瀏覽器工作

  • 關閉安全模式
  • 完全讀/寫/ EXEC權限
  • 顯示所有錯誤
  • 沒有禁用的功能

我的代碼:test_script.php中的htdocs目錄

<?php 
exec('ls',$out,$rval); 
echo "Output:<hr />"; 
print "<pre>"; print_r($out); print "</pre>"; 
echo "Return Value:<hr />"; 
echo $rval; 
?> 

我試過設置e可執行的二進制路徑也是顯式的。測試腳本與apache是​​相同的用戶/組。我也嘗試將2> & 1添加到arg,但是看不到變化。先謝謝你。

here for similar.

+1

你試過'/ bin/ls'嗎? – mario 2011-03-14 23:34:36

+1

你的腳本的輸出是什麼? – AbiusX 2011-03-14 23:40:12

+0

@mario,是的我已經嘗試明確設置路徑。 – btl 2011-03-14 23:42:12

回答

6

嘗試

$output = shell_exec('ls /tmp/ 2>&1') 

你可能會具有權限的問題,對於當前目錄運行網頁的用戶。

您還可以嘗試whoami命令。

0

有時這些功能被禁用,你必須在php.ini中啓用它們