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