[英]PHP: MySQL server has gone away
我知道这个问题已被多次询问,但我已经尝试了一切。
我有一个PHP脚本,它遍历数千个图像,必要时执行调整大小,然后插入数据库。
我收到此错误消息:
警告:mysql_query()[function.mysql-query]:MySQL服务器已经在第105行的C:\\ Utilities \\ server \\ htdocs \\ newGen \\ index.php中消失了
警告:mysql_query()[function.mysql-query]:在第105行的C:\\ Utilities \\ server \\ htdocs \\ newGen \\ index.php中读取结果集的标题时出错
我正在使用Xampplite,因此缺少其他人用来解决问题的部分php.ini,因为他们没有使用Lite版本。
我确定问题不是超时。 虽然脚本将运行几分钟,但它会跳过已经处理过的图像,因此我会在大约10秒内快速收到错误消息。 也许这与max table size有关? 我在php.ini中找不到任何控制它的东西。
非常感谢所有的帮助,我已经在这几个小时了。
编辑:
这是105标记的代码,它是查询:
// Add tNail and image to db
mysql_query("INSERT INTO gallery values('','$hash','$thumbBlob','$imageBlob','$type','','0','0.0')");
// $q->execute();
print "Successfully processed $fileName<br>";
正如你在评论中所看到的那样,我尝试了PDO并得到了同样的错误,愚蠢的是我想回到mysql_命令会有所帮助。
如果有任何帮助,脚本每次都会以相同的图像投诉,但每张图片只有几十千字节,最多只有几百个。
检查my.cnf
MySQL配置文件中“ max_allowed_packet
”的值。
发生这种情况是因为PHP脚本花了太长时间来处理正在处理的任何内容,并且与服务器的连接超时。 你有几个解决方案:
mysql_connect
具有为您执行此操作的内置功能) mysql_pconnect
(但记得在最后关闭连接,因为它不会为你关闭) 您可以使用mysql_ping()
来查看连接是否仍然连接,如果没有,您可以尝试重新连接,或者发出错误消息,告诉您在连接丢失之前脚本已经走了多远。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.