2011-12-08 117 views
0

我正在使用php腳本來調用後端python腳本。php shell_exec沒有權限

<?php 
    error_reporting(-1); 
    $output = shell_exec("sh run.sh 2>&1"); 
    echo "<pre>$output</pre>"; 
?> 

run.sh腳本可以是:

#!/bin/bash 
wget http://markets.usatoday.com/custom/usatoday-com/html-mktscreener.asp 
python hw7-9.py index.html 
echo "done"; 

輸出是

run.sh: wget: not found 
run.sh: python: not found 
done 

如果我從殼正常運行它,它完美的作品。 ,試圖修復沒有發現我做「這wget的」,並將完整路徑

/afs/cad/sw.common/bin/wget -O index.html http://markets.usatoday.com/custom/usatoday-com/html-mktscreener.asp 

我得到許可被拒絕

+0

檢查您的Web服務器是否具有對該文件夾的寫入權限。 – zneak

+1

也定義了輸出文件的完整路徑... –

回答

0

什麼是你的PHP和你的shell腳本的權限?

我已經成功地使用了您使用的相同方法。以下完整的所有權和屬性詳情。

# ls -l 
-rw-r--r-- 1 root root 2332 Jan 4 23:07 daily.php 
-rwxr-xr-x 1 root root 232 Oct 30 22:43 get_stuff.sh 

系統上的用戶/組所有權會有所不同。讀/寫/執行權限也不必嚴格匹配我的。但僅供參考,我的設置是通過以下方式實現的:

chmod 644 daily.php 
chmod 755 get_stuff.sh 
chown root:root *