对于那些有机会用PHP编写Web应用程序然后作为应用程序服务器(例如基于Python的解决方案,如CherryPy或Pylons)的人,在什么上下文中应用程序服务器是PHP的更好替代方案?
我倾向于支持PHP,因为它几乎可用于任何Web服务器(尤其是共享主机),但我正在寻找其他充分的理由来做出明智的选择.谢谢.
我觉得有些回复没有直接解决最初的问题,所以我决定发表自己的回复.我理解这个问题是关于mod_php
部署模型和应用服务器部署模型之间的区别.
简单来说,PHP在每个请求上执行给定的脚本,并且应用程序不知道之前发生了什么(除非以某种方式模拟).此外,即使是每次请求都要解析源代码(除非你使用像APC这样的字节码缓存).此过程可能很慢,尤其是如果您的框架具有复杂的初始化.
与此相反,应用程序服务器必须启动一次,然后等待处理请求.应用程序服务器应该在每个请求(已分配的内存,打开的描述符等)之后清理资源,它还可以集中某些资源(如数据库连接),这些资源可以在请求之间重用,以获得额外的性能.
在大多数情况下,后一种模型(应用程序服务器)更有效,但另一方面更难以设置和维护.它也要求更高,因为您必须更加关注您使用的资源,以避免资源泄漏.
PHP 中有多种产品与 CherryPy 或 Pylons 填补了相同的空间。
(当然,除了它们不运行 Python ;)
看一下 -
就我个人而言,我更喜欢 Drupal,它是一个出色的框架,并且附带许多开箱即用的 CMS 和社区网站功能。上面的这些在很多方面都有很大的不同,但是如果您想要一个在 PHP 上运行的应用程序框架/应用程序服务器,那么这些都应该为您提供两全其美的功能。
哪一种是正确的选择很大程度上取决于个人喜好,尽管每种都有其不同的优点和缺点。
还有更多 - 这些只是我从同事和合作者那里听到的好消息。这不是一个完整的列表。