首先代码逻辑常驻内存代码默认没有热更新你定义了新的类和函数必须重启服务才能生效服务会出现中断的问题(表现为长连接会断开)
现在基于Swoole得cli框架,已经很多了,如果作为一个PHPer不知道几个CLI的web框架,可能已经不能算是一个合格的PHPer了。毕竟PHP的重点在传统的Web端,然而PHP8带的JIT,主要却是增强CLI模式。
还有就是需要自己实现一套进程管理机制保证服务进程因为代码出错退出后自动重启一个新的进程比如说PHP语法错误就会导致CLI进程直接退出却不会导致FPM进程退出,
再一点实现一套多进程架构来利用CPU多核PHP里你需要用到的pcntl和posix这两个跟进程编程相关的扩展库。fpm的优点是设计简单,采用多进程master-worker模式,没有线程协程之类的复杂问题,
CLI提供了另一种可能,就是提供了PHP应用充当后端应用的可能性,首要的是PHP-CLI支持多线程。但目前的PHP-CLI还是比较糙的,后端应用模式越来越成为人们