我尝试做一个PHP脚本来自动打开和关闭Firefox(版本24.0)。代码是:
<?php
//opening firefox
exec('"C:'Program Files'Mozilla Firefox'firefox.exe"');
//Waiting a moment to let firefox charging
sleep(20);
//Closing firefox
exec("TASKKILL /IM firefox.exe /F");
?>
但是我有一个问题,导航器成功打开,但它仍然打开了很长时间,直到我手动关闭它,然后它等待 20 秒并告诉我没有 processus 火狐可以杀死。
请尽快需要你的帮助。
你好。
问题是 php exec() 等待程序完成并关闭,然后再继续脚本,请参见此处。为了解决此问题,您可以使用类似于以下内容的方法:
<?php
function execInBackground($cmd) {
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start /B ". $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
}
}
?>
(代码信用归Arno van den Brink所有,请参阅链接页面上的评论部分。
此函数确定操作系统是否为 windows,并使用正确的 php 命令执行程序,而不会导致 php 等待程序关闭。