【问题标题】:Running task in background in PHP even after user logs out即使在用户注销后在 PHP 后台运行任务
【发布时间】:2013-03-05 06:51:01
【问题描述】:

我已经使用 php 完成了一个网站,它基本上完成了在后台从 IP 摄像机录制视频的任务。所以这就是我登录我的帐户然后点击一个记录按钮,该按钮调用后端 ajax 脚本,该脚本执行程序并成功录制视频,并在我刷新或重新加载页面时立即停止。现在我想要的是即使在用户注销后,视频录制脚本也应该在后台继续录制视频。我怎样才能完成这项任务。谁能给我一个简单的想法来做到这一点?

看看我使用 ajax 的视频录制代码。 click here 录像由start.php完成,包含主要逻辑。

【问题讨论】:

    标签: php javascript ajax background


    【解决方案1】:

    你的 PHP 文件启动了另一个程序,对吗?

    我假设你在 php 中使用了诸如 popen 或 exec 之类的东西。这是您在没有 PHP 等待它完成的情况下完成它的方法: http://php.net/manual/en/function.exec.php

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

    不知道你说的用户注销是什么意思,如果你的意思是从网站注销,那应该不是问题,因为 PHP 不再关心记录程序。

    【讨论】:

    • 是的,我的意思是从网站注销,我希望进程在后台执行。如何使用上述函数连续运行文件?
    • 这就是您调用视频捕获程序的方式。 $cmd 是您正在使用的命令。此代码进入您的 php 页面。
    猜你喜欢
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    相关资源
    最近更新 更多