PHP web app deamon处理来自同一用户的一行多个请求

PHP web app deamon处理来自同一用户的一行多个请求,php,fork,apache,web-applications,Php,Fork,Apache,Web Applications,我正在开发一个web应用程序,我需要在后台运行主脚本(作为执事),并处理来自同一用户的许多请求 我的应用程序执行许多SQL查询,并为其内部工作生成巨大的数组, 用户的每一个请求都会这样做。我的目标是让应用程序在后台运行,并让它响应用户请求,从而提高性能并减少服务器资源的占用;一旦用户注销,我就可以杀死执事 我曾想过使用pcntl_fork(),但它只适用于CLI(如果我的理解正确的话) 任何帮助都将不胜感激!多谢各位 尤尼斯 您可以尝试在访问之间将大型数组存储在会话变量或memcache中。这取

我正在开发一个web应用程序,我需要在后台运行主脚本(作为执事),并处理来自同一用户的许多请求

我的应用程序执行许多SQL查询,并为其内部工作生成巨大的数组, 用户的每一个请求都会这样做。我的目标是让应用程序在后台运行,并让它响应用户请求,从而提高性能并减少服务器资源的占用;一旦用户注销,我就可以杀死执事

我曾想过使用pcntl_fork(),但它只适用于CLI(如果我的理解正确的话)

任何帮助都将不胜感激!多谢各位


尤尼斯

您可以尝试在访问之间将大型数组存储在会话变量或memcache中。这取决于它们有多大


另一种方法是运行一个侦听特定端口的CLI php“守护进程”,“常规”(CGI?)php脚本将通过端口I/O进行通信。尽管如此,这看起来非常复杂,因此非常脆弱。

所以每个web请求都将在生成响应之前等待守护进程的信息?或者SQL查询是异步执行的?、和其他。我本来要找的那个我没想到。它遵循在PHP中使用HTTP deamon的原则,以便将所有对象持久化到内存中。比APC和类似的PHP缓存快得多。适用于所有具有良好HTTP抽象(如symfony2)的对象,如果有的话,请注意单例。在会话中存储数据是一种解决方案,但它增加了提前思考并确定下一个会话中要存储什么以及可以修改什么的负担,而我的想法是保持应用程序的状态与会话之间的状态相同,就像在桌面应用程序中一样。