我想要做的是:從瀏覽器|執行時shell_exec不起作用ssh | scp |凱基
- 從瀏覽器中執行 「shellUnlock.php」
- 然後 「scriptUNLOCK.sh」,從 「shellUnlock.php」
- 然後 「resultUNLOCK.log」 執行從scriptUNLOCK.sh
- 創建然後在瀏覽器
說明顯示 「resultUNLOCK.log」:
- 對於SSH我使用的keygen,所以我不必再從我的服務器插入任何密碼。
- 我用SCP將「da.serv.er」中創建的「resultUNLOCK.log」複製到我自己的文件夾中。
- 我已經嘗試從瀏覽器,但它根本沒有輸出。
- 腳本運行良好,當我從膩子執行,但從shell_exec它不工作。
- 而我沒有權限在服務器上安裝任何東西。
我 「shellUnlock.php」 文件
$myfile = fopen("nameUSER.txt", "w") or die("Unable to open file!");
$txt = "USERNAME";
fwrite($myfile, $txt);
fclose($myfile);
shell_exec('./scriptUNLOCK.sh');
if (file_exists("resultUNLOCK.log"))
echo readfile("resultUNLOCK.log");
}else{
echo "Please Try";
}
我 「scriptUNLOCK.sh」 腳本
#!/bin/bash
HOST='[email protected]'
HOME='/home/web/UNLOCK'
DIR='/somewhere/script/UNLOCK/'
cd ${HOME}
while read nameUSER
do
ssh ${HOST} <<END_SCRIPT
cd ${DIR}
unlock.sh ${nameUSER} > resultUNLOCK.log
exit
END_SCRIPT
cd ${HOME}
scp ${HOST}:${DIR}resultUNLOCK.log ${HOME}
done < nameUSER.txt
現在,請幫助我。我完全困惑。謝謝。
這可能是權限問題。劑量的網絡服務器用戶有寫權限的日誌文件 –
我會說這可能是一個權限問題。如果你從命令行成功執行了shell腳本,但它不能在網頁上運行,這可能是因爲在第一種情況下你使用用戶權限運行它,而在第二種情況下它是apache用戶... – lpg
你會要把'ls -la/somewhere/script/UNLOCK /'的輸出放在這裏? – mudasobwa