ZivWangC 发表于 2013-10-28 16:46

php调用一个长时间运行的脚本的问题

情景:一个php页面,传给shell脚本一个时间值,system(/xx/xxx/xxx.sh)调用这个脚本,这个脚本要将近3分钟运行完,然后返回一个ok给php页面。

问题:这个脚本根本没运行完。   

首先,确定这个脚本运行了,因为SYSTEM()返回了shell脚本开始echo的东西,然后返回了最后echo的ok,中间长时间运行的东西没有运行。为什么?   

尝试:set_time_limit(0);这个好像不顶事,不是它的问题吗?

如何解决????!!!!

haibrother 发表于 2013-11-11 14:01

nginx 也是有时间限制的,默认的话,估计早挂了

syre 发表于 2013-11-14 13:53

避免直接用php执行外部脚本,不仅不可靠,还会产生很多隐患。
考虑用 gearman,或者消息队列+worker模式做。

eslizn 发表于 2013-11-17 17:54

普通的php运行方式不适合做这种工作,非要用php的话设计成queue+cron的异步模式
页: [1]
查看完整版本: php调用一个长时间运行的脚本的问题