我在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
答案 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
希望这会对你有所帮助!!