2016-11-28 90 views
0

我有一个用PHP框架CodeIgniter编写的应用程序。其中一个控制器运行一个读取相对较大文件的函数,然后逐行开始在数据库中插入/更新信息。当然,这需要一些时间,所以我会从服务器得到一个超时。在后台运行任务以防止504网关超时

在我的本地我能解决这个问题,通过调用:

set_time_limit(0); 

然而,在生产服务器(我猜)是完全不同的,所以即使有这样的代码,我会得到一个错误有:

504网关超时的nginx/1.8.0

更糟糕的是,我没有访问服务器的配置,所以我不能增加所有服务器超时值,即使我可以找出哪一个造成麻烦。相反,我的问题是,我怎么告诉PHP在后台运行这个任务,因为我不需要打开浏览器或任何其他的东西,我所关心的只是让这个功能在某个时候完成它的工作在将来?

+0

你可以尝试捕捉网关请求吗?如果它没有准备好并且在你离开的时候发送另一个请求? – atoms

回答