在进行imagemagic转换时,避免flash上传30秒超时


Avoid flash upload 30 seconds timeout when doing imagemagic convert?

我有一个使用flash上传器(swfuploader)的web应用程序,最近一位用户向我们指出了当脚本挂起超过30秒时会发生的错误。

我知道flash文档提到,在30秒没有响应后,它将超时,所以我知道我需要在转换功能结束前向浏览器发送一些数据。

到目前为止,脚本上传文件,转换它,如果它是一个多页pdf,它会将引用的子pngs保存到db,这在大小文件上都很好,问题是30页后它会挂起30秒以上。

提前感谢

要么是Mark Robbins的建议,要么你可能正在寻找这个http://php.net/manual/en/function.set-time-limit.php,但您还需要检查服务器设置(它们可能还会限制脚本运行的时间)。

让PHP异步工作将是一项艰巨的任务。。。我并不是说这将是一个完美的解决方案,但它是最容易实现的(至少在我看来是这样):你可以将"转换"作为一个单独的过程启动,获取它的pid并将该pid保存在会话/其他你知道与客户端相关联的地方,然后让客户端轮询服务器以要求完成工作。一旦与pid相关联的进程退出,客户端将需要接收保存到imagemagic转换内容的目录中的内容。

我认为你应该把整个东西构建成异步的,然后你就不必担心了。。。正确的