对于Java,我们有不同的应用程序服务器,如WebSphere和Web逻辑, 我怀疑是否有任何PHP应用程序服务器?
到目前为止我们正在将Apache和Nginx Web服务器用于PHP Web应用程序。应用程序服务器如何对PHP有用?
由于 瑞木
答案 0 :(得分:0)
对于PHP-PM,RoadRunner,Swoole,标签“应用服务器”是有争议的,但是它们都解决了最有问题的部分:浪费的“进程应用在每次请求时都要重新初始化和清除” ”。并且,除了删除整个 HTTP服务器→aux。进程管理→通过管道绕过PHP脚本加载/处理(通过具有集成的进程内 HTTP服务器+进程管理工具),它们还添加了不同级别/数量的额外服务来帮助在PHP中构建功能强大的服务器端长期应用程序。
Swoole 在技术上是作为PHP扩展实现的,但比通常的扩展does much more要多。它独立地启动工作进程,并像框架一样使用:您将编写事件循环并将控制权传递给Swoole。您的应用将使用其非阻塞异步I / O(网络,文件系统,进程管理)以及各种其他便捷的服务(包括)连接到HTTP请求(或Websocket事件等)。协程,IPC,锁定等)。所有异步的,对性能至关重要的I / O都通过简单的PHP API用C处理,包括:
https://scottaubrey.info/blog/2018-10-22-first-look-at-swoole/
It's basically Node.js for PHP
→Unofficial extra docs(除了the official ones之外)
RoadRunner 是一个流程管理器服务器(用Go编写)。来自他们的feature list:
PHP-PM 是另一种高级PHP流程管理器(如RoadRunner),但还具有基于ReactPHP(另一个由事件驱动的,异步I / O库,类似于Swoole,但以PHP实施,因此速度较慢。此软件包涵盖了应用服务器杂务(https://laravel-news.com/php-pm)的大部分内容。他们列出的一些features:
红利:here's a nice, detailed performance test为长期存在的服务器端PHP进程提供了各种体系结构替代方案(不包括Swoole)。对于Swoole(与其他框架相比,而不是其他PHP流程管道设置!),请参见this nice framework performance chart;。速度非常快。