咱们用的 PHP 主要用于 web 开发,经过 nginx、apache 等服务端程序调用 php-fpm 处理服务端的业务逻辑,处理完后 php 撤消内存并后回结果,因而可知,一个 http 就要加载一次 php 的所有文件,这也是目前 php-fpm 的缺点之一,而且 php-fpm 不合适 service 端的开发。php
下面是我随便在网上找的 php-fpm 运行流程,各位参考理解一下html
Test.cc is for sale | 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 接收到请求,启用worker进程处理请求 | php-fpm 处理完请求并撤消内存,返回给nginx | nginx将结果经过http返回给浏览器
总结一下我理解 php-fpm 的优缺点nginx
这个 swoole 官方的介绍laravel
SWOOLE 是 PHP 的协程高性能网络通讯引擎,使用C/C++
语言编写,提供了多种通讯协议的网络服务器和客户端模块web
,使 PHP 开发人员能够编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 能够普遍应用于互联网、移动通讯、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 做为网络通讯框架,可使企业 IT 研发团队的效率大大提高。^ [1]^面试
swoole 相对于 php-fpm 优势:sql
swoole 相对于 php-fpm 缺点:shell
详细的 swoole 介绍能够到 easyswoole 文档中查看easyswoole 文档apache
更多学习内容能够访问【对标大厂】精品PHP架构师教程目录大全,只要你能看完保证薪资上升一个台阶(持续更新)浏览器
以上内容但愿帮助到你们,不少PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提高,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货须要的能够免费分享给你们,须要的能够点击连接获取进阶PHP月薪30k>>>架构师成长路线【视频、面试文档免费获取】