MySQL Server已经消失了PHP Upload / file_put_contents

时间:2013-12-03 17:56:20

标签: php mysql

嘿大家这个问题给了我一头白发,上周这一切都很好,星期一当我开始工作并尝试运行另一个测试时它开始失败。

底色: 我正在构建一个工作实用程序,允许视频人员从他们的系统上传文件或指定视频的URL,无论是在Amazon S3还是在任何地方。然后,该实用程序将上传视频存储它并在数据库中放入一个条目以跟踪它,或者将它从提供给它们存储的目录的URL中移出并对mysql执行相同的操作。

问题: 它最近成为一个问题,当从URL移动我得到一个错误,指出“MySQL服务器已经消失”大量的搜索最终导致很多关于超时,数据包大小等问​​题。但是,MySQL连接不是'甚至被打开,直到文件被移动到其目录中。从URL移动文件时,我在10秒内收到错误。我可以接受的唯一测试是当我指定一个非常小的文件的URL,比如5mb。

上周,我能够对超过500mb的文件进行成功的测试(从URL中提取)。现在文件仍然会移动,但我得知服务器已经消失了。

以下是我正在使用的代码

file_put_contents('vid_bin/'.$fName, fopen($url, 'r'));
$qry = "INSERT INTO videos (".$fields.") VALUES (".$vals.")";
$db = new mydb;
$db->mydb; //connects
$db->select_db("thedbname"); //selects db
$db->query($qry); //runs query
if($db->error) {
    die($db->error . "\n". $qry); //oh noes
} else {
    ...
}

我们的服务器人员还没有,所以我想知道它是否是我的代码或者是否在服务器上发生了变化。我很确定它不是代码,而是希望外界的意见,尽管只有字符串,日期和整数存储在其中,可能会导致MySQL出类拔萃。

更新 如果我在弄乱文件之前处理MySQL位,一切正常。问题是,我在try / catch中处理了一些代码,因为如果有人提供了无效的URL或者有些东西乱了,我不想回去删除MySQL记录。

任何想法为什么MySQL会关心文件是否在它之前处理?我当时认为它可能与MySQL配置中的数据包大小有关,但我没有将文件存储在数据库中。看起来它将成为服务器管理员处理的一个问题,除非有人能够从代码末端了解为什么会发生这种情况。

2 个答案:

答案 0 :(得分:0)

结束服务器上没有任何更改,所以我不确定为什么代码停止按预期工作。我只是首先处理MySQL的东西,然后是文件。然后有一个cron根据SQL结果对文件进行一些工作,所以我只是检查文件是否存在,如果不存在,我删除记录。不完全是我希望它如何运作但完成任务。

答案 1 :(得分:0)

将mysql中的max_allowed_pa​​cket增加到128MB