对于那些有机会用PHP编写Web应用程序然后作为应用程序服务器(例如基于Python的解决方案,如CherryPy或Pylons)的人,在什么上下文中应用程序服务器是PHP的更好替代方案?
我倾向于支持PHP,因为它几乎可用于任何Web服务器(尤其是共享主机),但我正在寻找其他充分的理由来做出明智的选择.谢谢.
我觉得有些回复没有直接解决最初的问题,所以我决定发表自己的回复.我理解这个问题是关于mod_php
部署模型和应用服务器部署模型之间的区别.
简单来说,PHP在每个请求上执行给定的脚本,并且应用程序不知道之前发生了什么(除非以某种方式模拟).此外,即使是每次请求都要解析源代码(除非你使用像APC这样的字节码缓存).此过程可能很慢,尤其是如果您的框架具有复杂的初始化.
与此相反,应用程序服务器必须启动一次,然后等待处理请求.应用程序服务器应该在每个请求(已分配的内存,打开的描述符等)之后清理资源,它还可以集中某些资源(如数据库连接),这些资源可以在请求之间重用,以获得额外的性能.
在大多数情况下,后一种模型(应用程序服务器)更有效,但另一方面更难以设置和维护.它也要求更高,因为您必须更加关注您使用的资源,以避免资源泄漏.