PHP 脚本因 Broken Pipe 错误而中止:如何解决“mysqli_query(): send of 309 bytes failed with errno=32 Broken pipe”?
php 脚本因 broken pipe 错误而中止
你曾遇到过类似于“mysqli_query(): send of 309 bytes failed with errno=32 broken pipe”这样的错误吗?这个问题令人烦恼,并且会中断你的脚本。
为什么会发生 broken pipe 错误?
broken pipe 错误通常是因为 php 脚本与 mysql 服务器之间的连接由于长时间未操作而被关闭。当脚本再次尝试通过已关闭的连接执行查询时,就会导致错误。
立即学习“PHP免费学习笔记(深入)”;
如何修复 broken pipe 错误?
要解决 broken pipe 错误,你可以尝试以下方法:
- 检查 mysql 服务器的 wait_timeout 参数。这个参数定义了非交互连接在没有活动后会被关闭的时长。根据需要将它设为一个较大的值,例如:
set global wait_timeout = 1000;
- 在脚本中使用 mysqli_ping() 函数。这个函数用于检查连接是否活动。如果连接已经断开,你可以重新连接:
if (!mysqli_ping($conn)) { // 断开连接 mysqli_close($conn); // 重新连接 $conn = mysqli_connect($host, $user, $password, $database); }
以上就是PHP 脚本因 Broken Pipe 错误而中止:如何解决“mysqli_query(): send of 309 bytes failed with errno=32 Broken pipe”?的详细内容,更多请关注其它相关文章!