Php 如何在后台执行codeigniter控制器方法
我有一个codeigniter的控制器功能,可以从gmail中获取邮件Php 如何在后台执行codeigniter控制器方法,php,codeigniter,Php,Codeigniter,我有一个codeigniter的控制器功能,可以从gmail中获取邮件 这需要花费很多时间,所以我需要在后台执行特定的控制器功能,这样用户就不必等到所有邮件都取回了。ajaxjqueryway js: php: 这里是指像AJAX这样的客户端解决方案吗?或者按照@MonkeyZeus的建议使用AJAX。Cronjob或Queu系统之类的。php不能真正异步运行,我使用了Proc_Close(Proc_Open(“phpcli-qtest1.php&”,Array(),$foo));其中,我的te
这需要花费很多时间,所以我需要在后台执行特定的控制器功能,这样用户就不必等到所有邮件都取回了。ajaxjqueryway js: php:
这里是指像AJAX这样的客户端解决方案吗?或者按照@MonkeyZeus的建议使用AJAX。Cronjob或Queu系统之类的。php不能真正异步运行,我使用了Proc_Close(Proc_Open(“phpcli-qtest1.php&”,Array(),$foo));其中,我的test1.php具有获取邮件并存储在数据库中的脚本。如果我直接执行test1.php,则会插入42行,但当我使用Proc_Close(Proc_Open(“php cli-qtest1.php&”,Array(),$foo));仅插入5行。有人能告诉我原因和解决方案吗?如果用户在还没有收到邮件时切换到其他页面怎么办?ajax调用的php脚本(myMethod())仍在执行吗?
$.ajax({
url : "index.php?/MyController/myMethod",
async : true //change this to false if you hate your users and want them to wait
}).done(function() {
alert("EMAIL IS READY! USER DIDN'T WAIT")
});
class MyController extends CI_Controller{
function myMethod(){
//do your email stuff
}
//if codgeIgniter V2
function myMethod_get(){
//do your email stuff
}
}