PHP / Apache - 在exec'd脚本运行时刷新屏幕

时间:2010-08-06 21:05:50

标签: php apache webserver exec

我网站上的一个页面是一个PHP脚本,它使用exec()启动一个生成PDF文档的单独PHP脚本。

PDF可能需要30秒才能生成。当我在此过程中点击刷新按钮时,我发现行为不一致。在我的Mac和Windows本地开发机器上,刷新页面将挂起Apache。在我的生产Linux服务器上,我似乎没有遇到这个问题。

这是为什么?我不关心我的开发机器是否挂起,我只是想确保它不会在生产中发生。

1 个答案:

答案 0 :(得分:0)

每次呈现页面时是否运行exec(),或者您是否有一些逻辑来检查以前的PHP脚本是否已完成?

每次刷新页面时,您可能会生成新的PDF。 如果这需要一段时间,它可能会挂起Apache,因为它的线程池中的所有线程都在等待exec的脚本完成,如果它们没有正确分离。

如果是这种情况,它肯定会在您的生产服务器上挂起Apache。