PHP:MySQL服务器已经消失了

PHP:MySQL服务器已经消失了,php,mysql,Php,Mysql,我知道这个问题已经被问了很多次了,但我已经尝试了所有的方法 我有一个PHP脚本,可以迭代数千个图像,如果需要,可以执行大小调整,然后插入数据库 我收到以下错误消息: 警告:mysql\u query()[function.mysql query]:mysql服务器已关闭 在第105行的C:\Utilities\server\htdocs\newGen\index.php中 警告:mysql\u query()[function.mysql query]:读取结果时出错 在C:\Utilities

我知道这个问题已经被问了很多次了,但我已经尝试了所有的方法

我有一个PHP脚本,可以迭代数千个图像,如果需要,可以执行大小调整,然后插入数据库

我收到以下错误消息:

警告:mysql\u query()[function.mysql query]:mysql服务器已关闭 在第105行的C:\Utilities\server\htdocs\newGen\index.php中

警告:mysql\u query()[function.mysql query]:读取结果时出错 在C:\Utilities\server\htdocs\newGen\index.php的第行中设置的标题 105

我使用的是xamplite,因此php.ini的某些部分丢失了,而其他部分则用于解决此问题,因为它们没有使用lite版本

我确信问题不在于超时。虽然脚本将运行几分钟,但它会跳过已经处理过的图像,因此我很快在大约10秒内收到错误消息。也许这和最大桌子大小有关?我在我的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>";
//将tNail和image添加到数据库
mysql_查询(“插入到库值(“”,$hash’、“$thumbBlob’、“$imageBlob’、“$type’、“”,'0’、'0.0'));
//$q->execute();
打印“已成功处理$fileName
”;
正如您从我尝试PDO的评论中所看到的,并且得到了相同的错误,我愚蠢地认为返回mysql_uuo命令会有所帮助


如果有什么帮助的话,脚本每次都会在同一个图像上抱怨,但是每个图像最多只有几十KB。

之所以会出现这种情况,是因为PHP脚本处理所处理的内容花费的时间太长,并且与服务器的连接超时。您有一些解决方案:

  • 检查以确保连接仍处于打开状态,并在需要时重新连接(
    mysql\u connect
    具有为您执行此操作的内置功能)
  • 使用
    mysql\u pconnect
    (但请记住在最后关闭连接,因为它不会为您关闭)
  • 提高脚本的运行时间以避免超时

检查您的
my.cnf
MySQL配置文件中“
max\u allowed\u packet
”的值。

您可以使用
MySQL\u ping()
查看连接是否仍然连接,如果没有,您可以尝试重新连接,或者发出一条错误消息,告诉您在连接丢失之前脚本已经运行了多远。

显示第105行附近的代码?Blob Blob Blob->大数据可能->可能高于包大小?请不要对新代码使用
mysql.*
函数。它们不再得到维护,社区已开始恢复。看到了吗?相反,你应该学习并使用或。如果你不能决定,将帮助你做出选择。如果您愿意学习,。就是这样,我在php.ini中找不到数据包大小:/I我使用的是xamppliteTruth,我已经尝试过PDO。我回到mysql,以防它修复了这个问题,但它没有。这一问题一解决,我就回到PDO。我尝试了mysql_pconnect()并遇到了同样的问题。php.ini中的所有超时都是-1或高数值,因此我确信这不是时间问题。@Kolink我正要写同样的东西。在过去,这种情况发生在我身上。如果我的脚本有一段时间没有进入mysql服务器。Mysql将关闭连接。我通过检查mysql是否仍然连接解决了这个问题。你有没有试过MySQLTunner来确认那边没有问题?谢谢!我在php.ini中查找了很久,而它是我应该查看的my.cfg!