在代码igneitor的后台运行脚本


Run Script in background of codeigneitor?

我在ci中创建了一个名为"Incentive"的模块。 我在控制器中编写了函数以在后台运行PHP脚本,但它不起作用,

这是我在控制器中的函数

function backgroundrun(){
    echo "working";
    $command = shell_exec("localhost/new/index.php?module=incentive&view=allIncentive&date=2016-02-29  > /dev/null & echo $!");
    echo $out = exec( $command);
    echo "here";
}

这是我要运行的脚本的 URL

localhost/new/index.php?module=incentive&view=allIncentive&date=2016-03-29

curl:是一种使用支持的协议之一(DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3,POP3S,RTMP,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,TELNET和TFTP)之一从服务器传输数据或将数据传输到服务器的工具。该命令设计为无需用户交互即可工作。

有关参考,请参阅此链接 - https://curl.haxx.se/docs/httpscripting.html

在基于 *nix 的系统中,在终端中运行此命令以检查是否安装了 curl。

# which curl

如果已安装,这将返回这样的输出。

/usr/bin/curl

因此,您可以使用此脚本来执行作业。

$command = shell_exec("curl http://127.0.0.1/new/index.php?module=incentive&view=allIncentive&date=2016-02-29  > /dev/null & echo $!");

在脚本中使用localhost将返回此类错误

curl: (6) Could not resolve host: localhost

希望这对你有帮助!!