Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从.php网页运行.bat脚本_Php_Batch File_Execute - Fatal编程技术网

从.php网页运行.bat脚本

从.php网页运行.bat脚本,php,batch-file,execute,Php,Batch File,Execute,我正在尝试在我自己的服务器上加载一个网页,该服务器将运行一个.bat脚本(在同一台服务器上),如下所示 当我访问名为test.php的页面时,它会显示“DoIt!”按钮,当我按下它时,它只是在.bat文件上显示内容,而不是在服务器上执行它 我假设在PHP设置中,我需要在服务器上配置什么来强制它运行脚本,而不仅仅是在网页上显示脚本 就问题的目的而言,我很高兴我所做的事情会对安全产生影响 我正在运行一台带有IIS和PHP的Windows计算机 <html> <head>

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

当我访问名为test.php的页面时,它会显示“DoIt!”按钮,当我按下它时,它只是在.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>

重新启动

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

如果您试图查看函数的输出,则必须根据文档本身使用第二个函数参数:
和$output


我希望它对你有用!:D

谢谢,回音导致输出显示在网页上,但它不工作的问题是.bat似乎必须位于网页所在的inetpub文件夹中。。。谢谢我也有同样的问题。你能解决你的问题吗?要从网页调用bat文件@omega1Hello,是的,我解决了。bat文件必须在inetpub文件夹中,然后才能工作。我不知道将.bat文件夹放在别处是否可行,但这解决了我的需要。在我问题中的代码中,删除exec命令前面的echo语句。