如何在两个不同的PHP进程之间共享MySQL连接


How to Share a MySQL connection between 2 different PHP Processes

我有一个不寻常的案例,我的网站通过沙箱运行两个完全不同的PHP进程。我有一个正常的网站通过fastcgi运行,在中间,fastcgi进程通过cli执行一个沙盒脚本。这两个进程都需要MySQL连接,我一直在想是否有办法共享该连接,因为当沙盒脚本运行时,fastcgi只是在等待它完成,所以不会有并发。

这将大大提高我的硬件能力,因为与目前需要的两个连接不同,每个客户端只需要一个MySQL连接。

我总是可以为这种效果编写某种多路复用代理,但有什么普通的解决方案吗?我真的很感激。

谨致问候。

使用数据库连接池中间件或代理

sqlrelay

mysql代理

proxysql

可能值得一看持久连接。基本上,如果连接存在,它将自动重新使用。请注意,这是指资源本身,它不会将任何状态从一个进程持久化到另一个进程。

在决定使用持久连接之前,您应该意识到使用不正确时存在的缺陷。请参阅此问题。