服务器规格 Windows 2008Rc2 IIS7 MySQL的 PHP 5.3
我有一个批处理文件,它执行mysql转储,然后压缩内容并使其可以在公共文件夹中下载。现在我知道这个脚本是有效的,因为它每次我手动运行都运行良好,但我似乎无法让它通过PHP工作。
基本上我想能够调用一个运行这个批处理文件的php页面。
我知道exec已启用,因为我能够使用shell_exec来ping google.com,我可以恢复输出。
我尝试过只使用system()和exec(),但仍然没有。在某些情况下,它看起来像页面正在工作,但它只是在加载提示符。
我在高低处搜索了一百万种不同的命令组合,但它们似乎都不适用于我。
我已经减少了尝试这个简单的命令,因为我可以ping这个工作。虽然在调用页面时它只显示echo语句。
<?php
echo "Starting...";
echo shell_exec("C:\inetpub\wwwroot\DBZIP2");
echo "Success!";
?>
我也尝试了这个,但是页面只是挂在加载屏幕上而不显示echo命令。
<?php
echo "Starting...<br><br>";
system("cmd /c START C:\inetpub\wwwroot\DBZIP2");
echo "Success!";
?>
不确定从哪里开始。我已尝试路径化cmd.exe文件,但这没有任何区别。有更简单的方法吗?也许另一种编程语言?任何帮助表示赞赏。
答案 0 :(得分:0)
尝试使用带有CMD.exe完整路径的“shell_exec”执行
<?php
echo "Starting...<br><br>";
shell_exec("c:\WINDOWS\system32\cmd.exe /c START C:\inetpub\wwwroot\DBZIP2");
echo "Success!";
?>