我知道这个问题已被多次询问,但我已经尝试过所有事情。
我有一个PHP脚本,它遍历数千个图像,必要时执行调整大小,然后插入数据库。
我收到此错误消息:
警告:mysql_query()[function.mysql-query]:MySQL服务器已经消失了 在105行的C:\ Utilities \ server \ htdocs \ newGen \ index.php
警告:mysql_query()[function.mysql-query]:读取结果出错 在线上设置C:\ Utilities \ server \ htdocs \ newGen \ index.php中的标题 105
我使用Xampplite,因此缺少其他人用来解决问题的部分php.ini,因为他们没有使用精简版。
我确定问题不是超时。虽然脚本将运行几分钟,但它会跳过已经处理过的图像,因此我会在大约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_命令会有所帮助。
如果有任何帮助,脚本每次都会以相同的图像投诉,但每张图片只有几十千字节,最多只有几百个。
答案 0 :(得分:25)
检查max_allowed_packet
MySQL配置文件中的“my.cnf
”值。
答案 1 :(得分:1)
这是因为PHP脚本花了太长时间来处理正在处理的任何内容,并且与服务器的连接超时。你有几个解决方案:
mysql_connect
具有为您执行此操作的内置功能)。mysql_pconnect
(但请记住最后关闭连接,因为它不会为您关闭)答案 2 :(得分:1)
您可以使用mysql_ping()
查看连接是否仍然连接,如果没有,您可以尝试重新连接,或者发出错误消息,告诉您在连接丢失之前脚本已经走了多远。