php我们使用的PHP主要用于web开发。我们通过nginx、apache等服务端程序调用php-fpm来处理服务端的业务逻辑。php处理后取消内存,返回结果。可见一个http需要加载一次php的所有文件,这也是目前php-fpm的不足之一,而且php-fpm不适合服务端的开发。下面是我在网上随便找的php-fpm运行过程。可以参考了解Test.cc出售|Nginx|路由到http://www.test.cc/index.php|加载nginx的fast-cgi模块|fast-cgi监听127.0.0.1:9000地址|www.test.com/index.php请求到达127.0.0.1:9000|php-fpm监听127.0.0.1:9000|php-fpm收到请求并开启工作进程处理Request|php-fpm处理请求并取消内存后,返回nginx|nginx通过http返回结果给浏览器总结一下我对php-fpm的理解的优缺点优点:部署调试方便,有很多基于传统php的项目,容易引用缺点:每次http请求都要加载所有项目文件。php-fpm性能差,并发性差。核心异步网络不支持swoole。swoole官方介绍是SWOOLE,PHP的高性能网络通信引擎,使用C/C++语言编写,提供各种通信协议的网络服务器和客户端模块,使PHP开发者能够编写高性能的异步并发TCP,UDP、UnixSocket、HTTP、WebSocket服务。Swoole可广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。使用PHP+Swoole作为网络通信框架,可以大大提高企业IT研发团队的工作效率。^[1]^swoole相比php-fpm的优势:可以搭建TCP/UDP/UnixSocket服务器,原生支持毫秒定时器异步/同步TCP/UDP网络客户端,异步MySQL,异步Redis高性能协程提高异步IO效果和性能永久cli运行方式,无需每次请求加载一次项目代码。swoole和php-fpm相比有缺点:不支持xdebug,不支持手动dump。相关文档少,入门难。大部分PHPER不懂TCP/IP网络协议,多进程/多线程,异步io等swoole的详细介绍,可以查看easyswoole文档中的easyswoole文档。esayswoole的官方介绍视频easyswoole介绍视频看看开源的swoole项目,研究一下别人是如何使用swoole实现业务逻辑的swoole的phper学习内容比较多,可以访问【与各大厂商对比】高质量的完整目录PHP架构师教程,只要看得懂,保证你的薪水更上一层楼(持续更新中)。以上内容希望对大家有所帮助,很多PHPer都在进步。业务代码写多了总会遇到一些问题和瓶颈,没有方向感。我不知道从哪里开始改进。我整理了一些资料,包括但不限于:分布式架构、高扩展性、高性能、高并发、服务器性能调优、TP6、laravel、YII2、Redis、Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等知识点Advanced进阶干货可以免费分享给大家,需要的可以点击链接领取进阶PHP月薪30k>>>架构师成长之路【免费获取视频和采访文件]
