Laravel数据库连接空闲超时自动释放闲置连接的方法有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1011个文字,预计阅读时间需要5分钟。
许多人以为Laravel的配置能自动断开闲置连接,其实并非如此。Laravel的DB门面或Eloquent获取的连接本质上都是PDO实例,默认情况下是复用、非主动关闭的——只要PHP进程没有结束,连接就一直是挂起的。所以,你担心几分钟没查数据库连接就断开,那是多余的。
真正起作用的是 MySQL 服务端的 wait_timeout(默认通常 28800 秒,即 8 小时),一旦连接空闲超过这个值,MySQL 会主动断开;下次再用时,PDO 才会报错:MySQL server has gone away。
本文共计1011个文字,预计阅读时间需要5分钟。
许多人以为Laravel的配置能自动断开闲置连接,其实并非如此。Laravel的DB门面或Eloquent获取的连接本质上都是PDO实例,默认情况下是复用、非主动关闭的——只要PHP进程没有结束,连接就一直是挂起的。所以,你担心几分钟没查数据库连接就断开,那是多余的。
真正起作用的是 MySQL 服务端的 wait_timeout(默认通常 28800 秒,即 8 小时),一旦连接空闲超过这个值,MySQL 会主动断开;下次再用时,PDO 才会报错:MySQL server has gone away。

