通过 PHP 执行.exe文件


Executing an .exe file via PHP

我有以下问题:

我在Windows 7 x64机器上运行XAMPP Apache服务器,我想远程访问它,然后在上面执行程序。现在我在htdocs目录中有两个文件,index.php和test.php。

索引.php:

  <a href="test.php">Click here</a> 

测试.php:

    <?php
exec("C:''xampp''htdocs''notepad.exe");
?> 

索引.php打开了测试.php但这就是我卡住的地方。浏览器现在没有响应,只显示"等待本地主机",直到超时。

我花了几个小时试图找出问题所在,但没有任何帮助。

正如 PHP EXEC 页面上的评论所提到的,您应该将其作为后台进程运行,否则它将等待结果。

我知道你要求Windows,但如果你使用其他东西,这将使移植更容易。虽然这对于exe文件来说似乎很难,但对于其他用途来说可能。正如我猜"记事本.exe"只是一个示例,而不是您真正想要运行的。

<?php
function execInBackground($cmd) {
    if (substr(php_uname(), 0, 7) == "Windows"){
        pclose(popen("start /B ". $cmd, "r")); 
    }
    else {
        exec($cmd . " > /dev/null &");  
    }
}
?>

正如 PHP EXEC 页面上的评论所提到的,您应该将其作为后台进程运行,否则它将等待结果。

我知道你要求Windows,但如果你使用其他东西,这将使移植更容易。虽然这对于exe文件来说似乎很难,但对于其他用途来说可能。正如我猜"记事本.exe"只是一个示例,而不是您实际想要运行的。