我有一個要求用戶輸入一個shell腳本(「請選擇Y/N:」等)執行交互shell腳本在apache的
我想這通過網頁來執行。
關於我如何做到這一點的任何想法?我已經嘗試php shell_exec ...但它只是執行命令,並沒有提示輸入。
不知道這是否可能......但任何幫助將不勝感激。
乾杯
我有一個要求用戶輸入一個shell腳本(「請選擇Y/N:」等)執行交互shell腳本在apache的
我想這通過網頁來執行。
關於我如何做到這一點的任何想法?我已經嘗試php shell_exec ...但它只是執行命令,並沒有提示輸入。
不知道這是否可能......但任何幫助將不勝感激。
乾杯
典型地,該用戶輸入將是使用HTML/Javascript
。然後將輸入發佈到URL(例如,PHP
腳本),然後處理輸入並執行腳本。
enter code here
檢查腳本以查看是否有任何標誌強制腳本在沒有用戶輸入的情況下運行。 通常,您可以通過編寫類似彈出幫助:
yourscript /h
或
yourscript --help
有可能是一個標誌。在幫助中查找有關「強制」或「提示」的信息。如果不可用,如果您在Linux/Unix環境中,則可以創建一個將輸入發送到其他腳本的新腳本。不確定這是否適用於Windows。
這裏是一個非常簡單的例子:
echo y | yourscript
你可以做到這一點是重新創建CLI工具的配置部分HTML形式的唯一方法,如:
<form method="POST" action="/foo.php">
Please select:
<input type="radio" name="yesno" value="1">yes
<input type="radio" name="yesno" value="0">no
Some other option:
<input type="text" name"someoption">
</form>
之後你需要創建一個foo.php
將與HEREDOC處理輸入部分,例如:
<?php
$aData = some_validation_and_data_preparation_method($_POST);
$sCmd = implode("\n", $aData);
$sOutput = shell_exec("./some_cli_tool << EOF
{$sCmd}
EOF");
print $sOutput;
請注意,實際HEREDOC上缺少縮進(即在EOF
標記之間)。
無法回答您刪除的問題,但:[Percona有一個插件,您不必付費](http://www.percona.com/doc/percona-pam-for-mysql/ intro.html) – Wrikken
謝謝@Wrikken :) – bsmoo