php - 从 .php 网页运行 .bat 脚本

标签 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>

最佳答案

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

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

希望对您有用! :D

关于php - 从 .php 网页运行 .bat 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21526577/

相关文章:

bash - 服务器重启后windows批处理文件启动浏览器

windows - 使用批处理将多个文件的内容重新混合到 .mkv

java - MsgViewer (Java) 无法打开 .msg 文件 - 批处理文件解决方案?

php - 从数据库表创建数组 "tree"

php - Yii curl Couldn't resolve host 错误 CentOs 6

php - Backbone Sync 返回一个空的 $_POST 数组

postgresql - Postgres- SQL 状态 : 22004 - query string argument of EXECUTE is null

php - 多个通配符 preg_match_all php

javascript - JS倒计时清除文本文件

mysql - 如何执行 MySQL 中变量内的内容?