PHP 脚本出现 mysqli_query() Broken Pipe 错误:如何解决连接中断问题?

来源:这里教程网 时间:2026-02-28 18:40:24 作者:

php 脚本出现 mysqli_query() broken pipe 错误:如何解决连接中断问题?

php 脚本出现 mysqli_query() broken pipe 错误的原因和解决方法

你在使用 php 编写常驻内存队列处理脚本时遇到了 mysqli_query() 错误,提示 broken pipe。这表明服务器与数据库之间的连接中断。

造成此错误的原因可能是服务器端关闭了连接,因为脚本长时间处于无操作状态。虽然你已调整 max_allowed_packet 参数,但这似乎并不是问题的根源。

解决方案:

立即学习“PHP免费学习笔记(深入)”;

    检查并调整 wait_timeout 参数:

    登录 mysql 服务器并使用以下命令检查 wait_timeout 参数的当前设置:

    show variables like 'wait_timeout';
    将 wait_timeout 值增加到一个更合适的时间,例如 600 秒。

    处理连接断开:

    在你的 php 脚本中,添加代码来处理连接断开:

    if (!mysqli_ping($conn)) {
        // 断开连接
        mysqli_close($conn);
        // 重新连接
        $conn = mysqli_connect($host, $user, $password, $database);
    }

    请注意:替换 $host、$user、$password 和 $database 变量为你的数据库连接信息。

    其他建议:

    确保数据库服务器和 php 脚本运行在同一台机器上。 检查你的网络连接是否存在问题。 尝试使用不同的 mysql 客户端(例如 mysql 命令行工具)。

通过调整这些设置,你应该能够避免 broken pipe 错误。

相关推荐