在Php/Apache/Ubuntu上运行长进程

在Php/Apache/Ubuntu上运行长进程,php,apache,Php,Apache,我试图在Php/Apache/Ubuntu(AWS)上运行长进程 这是一个在夜间构建缓存的简单过程 该过程可以运行几个小时,并通过crontab使用curl访问特殊url来启动 有时进程会随机停止,没有错误,我怀疑它被apache杀死,尽管我设置了 @set_time_limit(0); @ini_set('max_execution_time', -1); 这是Php/Apache/Ubuntu的已知问题吗 有办法解决吗 目前,我的解决方案是每5分钟运行一次进程,并将状态存储

我试图在Php/Apache/Ubuntu(AWS)上运行长进程

这是一个在夜间构建缓存的简单过程

该过程可以运行几个小时,并通过
crontab
使用
curl
访问特殊url来启动

有时进程会随机停止,没有错误,我怀疑它被
apache
杀死,尽管我设置了

    @set_time_limit(0);
    @ini_set('max_execution_time', -1);
这是Php/Apache/Ubuntu的已知问题吗

有办法解决吗

目前,我的解决方案是每5分钟运行一次进程,并将状态存储在磁盘上,然后从停止的位置继续运行

但我想更多地了解这个问题,是否有更好的方法来解决它

注:
进程随机停止或根本不停止-进程越长(即缓存越大),其停止的几率越高

一个可能的原因是客户端断开连接(例如超时后):在这种情况下,PHP默认停止请求处理。要防止出现这种情况,您可以使用:



还请注意,
set\u time\u limit
调用实际上可能会失败(例如在受限环境中)-因此删除错误抑制(
@
)或明确检查
set\u time\u limit(0)
是否返回
true

它是否总是在(大约)处停止是有意义的同时?进程随机停止或根本不停止-进程越长(即缓存越大),它停止的几率越高是否有足够的RAM?是的,进程非常简单,它获取HTML页面并将其存储在磁盘上等式中是否需要apache?你能在#上放一个php解释器吗!行并直接从cron运行它?(我打赌你能。)
ignore_user_abort(true);