php调用一个长时间运行的脚本的问题
情景:一个php页面,传给shell脚本一个时间值,system(/xx/xxx/xxx.sh)调用这个脚本,这个脚本要将近3分钟运行完,然后返回一个ok给php页面。问题:这个脚本根本没运行完。
首先,确定这个脚本运行了,因为SYSTEM()返回了shell脚本开始echo的东西,然后返回了最后echo的ok,中间长时间运行的东西没有运行。为什么?
尝试:set_time_limit(0);这个好像不顶事,不是它的问题吗?
如何解决????!!!! nginx 也是有时间限制的,默认的话,估计早挂了 避免直接用php执行外部脚本,不仅不可靠,还会产生很多隐患。
考虑用 gearman,或者消息队列+worker模式做。 普通的php运行方式不适合做这种工作,非要用php的话设计成queue+cron的异步模式
页:
[1]