1

服务器规格 Windows 2008Rc2 IIS7 mysql PHP 5.3

我有一个批处理文件,它执行 mysql 转储,然后压缩内容并使其可在公共文件夹中下载。现在我知道这个脚本可以工作,因为每次我手动运行它时它都运行良好,但我似乎无法通过 php 让它工作。

基本上我希望能够调用一个将运行这个批处理文件的 php 页面。

我知道 exec 已启用,因为我能够使用 shell_exec 来 ping google.com,并且我可以取回输出。

我只尝试了 system() 和 exec(),但仍然没有。在某些情况下,看起来页面正在运行,但它只是位于加载提示符上。

我已经搜索了高低尝试一百万种不同的命令组合,但它们似乎都不适合我。

我一直在尝试这个简单的命令,因为我可以通过这个来 ping 工作。虽然当页面被调用时,它只显示回显语句。

<?php

echo "Starting...";

echo shell_exec("C:\inetpub\wwwroot\DBZIP2");

echo "Success!";

?>

我也试过这个,但页面只是挂在加载屏幕上,不显示回显命令。

<?php

    echo "Starting...<br><br>";

    system("cmd /c START C:\inetpub\wwwroot\DBZIP2");

    echo "Success!";

?>

不太确定从这里去哪里。我试过路径 cmd.exe 文件,但这没有任何区别。有没有更简单的方法来做到这一点?也许是另一种编程语言?任何帮助表示赞赏。

4

1 回答 1

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!";
?>
于 2013-05-31T15:56:42.420 回答