在codeigneitor的背景下运行脚本?

时间:2016-04-22 09:31:26

标签: php ajax codeigniter

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

这是我在Controller中的功能

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

1 个答案:

答案 0 :(得分:0)

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

希望这会对你有所帮助!!