首先,php是可以实现连接池的,不过只能在cli模式下运行可以实现,通常我们的web服务是使用cgi模式运行的。

一般中小型应用,不太需要用到这个,主要php连接数据库的扩展基本都是c实现的,速度其实很快。
如果确实发现连接瓶颈(基本不太可能),你可以参考下面解决方案。
1. 你可以用命令行模式,写一个常驻后台的进程来实现连接池,开放接口给其他应用调用即可(不建议尝试,过于复杂,且稳定性待定)
2. 当你使用持久连接连接数据库的时候,实际上每一个fpm worker进程会对应一个mysql连接,你可以根据这个特点来配置phpfpm工作进程数和mysql连接数。(也不是太好)
3. 安装swoole扩展可以实现真正的连接池,而且效率非常好。
建议第三种方案,成熟且高性能。
Linux连接池是基于Linux内核模块开发,支持跨语言,多服务的连接池,可以作为JAVA数据库连接池,PHP数据库连接池等所有基于TCP连接服务的连接池服务使用。别名:(kconnp,Kernel-based Connection Pool)
lcp盘是基于Linux模块开发的线程安全连接池,减少由频繁建立和释放连接带来的系统开销,提升服务响应速度,作为跨语言,跨服务的连接池使用,例如:JAVA数据库连接池、PHP数据库连接池、Memcache连接池服务等所有基于TCP连接的连接池服务。
LCP(全称:Linux Connection Pool),Linux连接池是基于Linux内核模块开发,支持跨语言,多服务的连接池,可以作为JAVA数据库连接池,PHP数据库连接池等所有基于TCP连接服务的连接池服务使用。
PHP8 注入并不是单例。在 PHP8 中,注入(也称为依赖注入)是一种范式,用于减少外部依赖,提高代码的可测试性和可维护性。虽然注入可以帮助避免单例问题,但并不是解决单例问题的唯一方法。在 PHP8 中,可以通过使用适配器模式、工厂模式、抽象工厂模式等设计模式来避免单例问题。因此,虽然注入可以帮助提高代码质量,但并不是解决单例问题的唯一方法。
PHP8 注入不是单例。在PHP8中,由于引入了FPM进程池,每个请求都会在自己的进程中处理,并且每个进程都会有自己的依赖注入容器。因此,每个请求都会返回一个新的实例,而不是单例。