我在我的应用程序中使用 PDO 来处理 MySQL。我已将其连接设置为持久。但是当我在 IDE 和浏览器之间切换以测试项目时,有时会出现以下错误:
警告:PDO::__construct() [pdo.--construct]: MySQL server has gone away in
这对我来说很奇怪,因为:
- 它有时会在成功加载网页后发生(没有错误)。所以我可以确保我在前几分钟建立了连接。
- 我使用了持久连接,我希望我不会失去与数据库的连接。
请帮我。
我在我的应用程序中使用 PDO 来处理 MySQL。我已将其连接设置为持久。但是当我在 IDE 和浏览器之间切换以测试项目时,有时会出现以下错误:
警告:PDO::__construct() [pdo.--construct]: MySQL server has gone away in
这对我来说很奇怪,因为:
请帮我。
根据对报告的错误的评论, mysqlnd 正在内部捕获故障,将其报告为警告,然后重新建立连接。
(目前)禁止报告此警告的唯一方法是:
$oldErrorReporting = error_reporting();
error_reporting($oldErrorReporting & ~E_WARNING);
// construct PDO instance here
error_reporting($oldErrorReporting);