4

我正在使用 windows-7 操作系统和 wamp 服务器。我有 2 个 php 文件 trigger.php,background.php。我想在后台运行 background.php。我必须从 trigger.php 调用这个文件。

我尝试了以下方法。

我在 trigger.php 中添加了这段代码

    $WshShell = new COM("WScript.Shell");
   $oExec = $WshShell->Run("C:\wamp\bin\php\php5.3.5\php-win.exe -f C:/wamp/www/background.php", 0, false);

但我的 background.php 没有被调用。

我怎么能这样做?

任何建议表示赞赏。

4

2 回答 2

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

在这种情况下,你$cmd"php C:/wamp/www/path/to/background.php"

于 2013-02-11T10:27:41.167 回答
1

我改变了功能如下,

$cmd = 'C:\wamp\bin\php\php5.3.5\php.exe C:\wamp\www\email3.php';

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

并且,它对我有用。:)

于 2013-02-13T08:24:01.760 回答