繁体   English   中英

PHP:MySQL服务器已经消失

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM