如何运行php作为后台进程

时间:2013-05-14 03:43:55

标签: php background-process pclose

我在执行PHP文件作为后台进程时遇到问题。 我有两个PHP文件如下:

的index.php

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

cmdReadExcel.php

<?php
    $reportname = "./report/lw321.xls";
    $thereport = new Report();
    $thereport->readReport($reportname)
?>

我的目标是将Report.readReport作为后台进程运行。 readReport函数是读取Excel文件并将其行保存到数据库的函数。

我已经按照教程进行了操作,但没有结果/没有插入行。代码有什么问题吗?

此致

1 个答案:

答案 0 :(得分:0)

您可以从客户端而不是服务器启动脚本执行。像这样:

www.example.com/scripts/cmdReadReport.php?keypass=Giw3m4d9BaJO0ua0WFtG

然后只需要使用CURL或其他东西请求此页面。这种方法更便携。