我有以下问题:
我在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"只是一个示例,而不是您实际想要运行的。