php mysqli_query() 报 broken pipe 错误的解决方法

在执行 php 脚本时,你可能遇到类似"mysqli_query(): send of 309 bytes failed with errno=32 broken pipe"这样的错误。这表示 php 脚本与 mysql 服务器之间的连接在长时间无操作后被关闭了。

解决此问题的关键在于修改 mysql 服务器的wait_timeout参数,该参数指定非交互式连接在无活动后多久会被关闭。你可以将其设为更大的值,例如:

set wait_timeout = 600;
登录后复制

此外,你还可以使用 mysqli_ping() 函数定期检查连接是否仍然有效,并根据需要重新连接。修改后的代码示例如下:

<?php 
$conn = mysqli_connect($host, $user, $password, $database);

if (!mysqli_ping($conn)) {
    // 断开连接
    mysqli_close($conn);

    // 重新连接
    $conn = mysqli_connect($host, $user, $password, $database);
}
登录后复制

通过调整wait_timeout参数和定期检查连接,你应该能够避免遇到 broken pipe 错误。

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

以上就是PHP mysqli_query() 报 Broken pipe 错误如何解决?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部