我假设对于每个页面请求,for服务器(例如,Apache)在内存中创建脚本的新实例。这些实例在运行时可以相互通信吗?并传递数据吗?
发布于 2009-09-16 01:13:50
如果您想在PHP中的脚本之间传递数据,我建议使用memcached或数据库。或者可能是APC。
如果脚本属于同一个会话,理论上它们可以通过会话进行通信,但这在大多数情况下是有效的单向通信,因为在任何时候都只有一个脚本可以访问会话(session_start()锁定会话,直到该脚本隐式或显式地结束会话)。
发布于 2009-09-16 02:34:37
我相信Martin和Cletus的建议是正确的。我的选择将是脚本最终目标的函数。
我认为通过将流程外部化可以获得最大的价值,因为您可以让多台机器管理消息/数据,也可以让多台机器生产/使用它们。
发布于 2009-09-16 01:14:55
PHP脚本运行所基于的模型实际上并不包含在内存中为这些脚本提供任何形式的持久性的概念,因为它们通常被设计为只在为请求的页面提供服务所需的最短时间内运行。这将使得这些脚本之间的有状态通信很难有任何有意义的用途,因为通常情况下,一旦提供了页面,脚本就没有更多的事情可做了。因此,通常PHP脚本之间的任何通信都是通过操作数据库条目等来完成的。
如果您需要进行某种持续的处理,并且希望传递数据,则可能需要考虑其他web应用程序模型,如servlets。
https://stackoverflow.com/questions/1430417
复制相似问题