用于打开和关闭火狐浏览器导航器的 php 脚本


Php Script to Opening and closing firefox navigator

我尝试做一个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 等待程序关闭。