从.php网页运行.bat脚本

时间:2014-02-03 11:46:48

标签: php batch-file execute

我正在尝试在我自己的服务器上加载一个网页,该网页将运行.bat脚本(在同一台服务器上),如下所示。

当我访问名为test.php的页面时,它会显示“DO IT!”按钮,当我按下它时,它只显示.bat文件上的内容,而不是在服务器上执行...

我需要在服务器上配置什么,我假设在PHP设置中,强制它运行脚本而不是仅仅在网页上显示它?

出于问题的目的,我对我正在做的事情的安全影响感到高兴。

我正在使用IIS和PHP运行Windows机器。

<html>
    <head>
        <title>Restarting</title>
    </head>
    <body>
    <?php
        if(isset($_POST['submit']))
        {
            echo exec('c:\scripting.bat');
            echo "Done!";
        } else {
            // display the form
    ?>
    <form action="" method="post">
    <input type="submit" name="submit" value="DO IT!">
    </form>
    <?php
        }
    ?>
    </body>
</html>

1 个答案:

答案 0 :(得分:2)

我认为echo exec('c:\scripting.bat');行导致了您的问题。尝试在没有echo语句的情况下执行它。

如果您试图查看函数的输出,则必须使用第二个函数参数:&$output,根据文档本身。 See it in the docs here.

我希望它对你有用! :d