我有一个使用flash上传程序(swfuploader)的web应用程序,最近一个用户向我们指出了脚本挂起超过30秒时发生的一个bug。
我知道flash文档提到,在30秒无响应后,它将超时,所以我知道我需要在我的转换函数结束之前向浏览器发送一些数据。
到目前为止,脚本上传文件,转换它,如果它是一个多页pdf,它会将参考子png保存到db,这在大文件和小文件上都工作得很好,问题发生在30页之后,它将挂起超过30秒。
提前感谢
发布于 2012-01-21 18:45:21
或者按照Mark Robbins的建议,或者您可能正在寻找此http://php.net/manual/en/function.set-time-limit.php,但您还需要检查服务器设置(它们可能还会限制脚本的运行时间)。
让PHP异步工作将是一项相当艰巨的任务……我并不是说这将是一个完美的解决方案,但是,它是最容易实现的(至少在我看来是这样):您可以将“转换”作为一个单独的进程启动,获取它的pid,并将该pid保存在您知道与客户端关联的会话/其他位置,然后让客户端轮询服务器以请求完成工作。一旦与pid关联的进程退出,客户端将需要接收保存到映像转换内容的目录中的内容。
https://stackoverflow.com/questions/8949967
复制相似问题