Shell脚本正在下载而不是执行

时间:2016-11-04 11:33:12

标签: php bash

我编写了一个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

2 个答案:

答案 0 :(得分:0)

&#13;
&#13;
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;
&#13;
&#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!