我正在尝试在我自己的服务器上加载网页,该服务器将运行 .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/