我正在尝试在自己的服务器上加载一个网页,该网页将在下面运行.bat脚本(在同一服务器上)。
当我访问该页面时,称为test.php时,它显示"做!"按钮,当我按它时,它只是在.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