我编写了一个PHP代码来执行shell脚本。 但是当我在浏览器中执行php脚本时,shell脚本正在下载,而不是执行。 任何人都可以帮助解决问题。
注意:
PHP文件源路径:myuser $ /tmp/sample/index.php
index.php编写了执行shell脚本test.sh
的代码的index.php
<form action="test.sh" method="get">
<input type="hidden" name="act" value="run">
<input type="submit" value="run">
</form>
test.sh
#!/bin/bash
USERNAME=sfuser
HOSTS="pcsched01.syd.sf.priv"
SCRIPT="touch t.txt"
for HOSTNAME in ${HOSTS} ; do
ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
done
答案 0 :(得分:0)
Try like this
<?php
if (isset($_POST['button']))
{
exec("/path/to/name.sh");
}
?>
<html>
<body>
<form method="post">
<p>
<button name="button">Run Perl</button>
</p>
</form>
</body>
&#13;
答案 1 :(得分:0)
你有一个运行的Web服务器(可能是Apache?)通过HTTP提供内容。 提交表单后,您将向Web服务器发送请求,通过HTTP GET请求为您提供内容“test.sh”。 Web服务器为您提供内容。 一切都按预期工作!
您需要创建一个实际执行SH脚本的PHP脚本,例如:http://php.net/manual/en/function.exec.php
<?php
exec('test.sh');
?>
SUCCES!