Сервер Mysql ушел при хранении большого (2 МБ) аудиофайла в LONGBLOB

Я хочу сохранить аудиофайл в базе данных mysql . Я использую LONGBLOB для хранения кодированной в base64 строки этого аудиофайла. но так же, как я выполняю свой запрос, я получаю это предупреждение без вставки в базу данных:

 Warning: mysql_query() [function.mysql-query]: MySQL server has gone away 

Когда я загружаю любой файл изображения, я не получаю ошибки, и код работает нормально. это происходит, когда я загружаю видео и аудиофайл. ниже в коде, который я использую:

 <?php include 'database_handler.php'; if(isset($_FILES['fileToUpload']['name'])){ echo "uploading. . ."; $file = rand(0, 10000000).$_FILES['fileToUpload']['name']; if (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $file)) { if($fp = fopen($file,"rb", 0)) { $picture = fread($fp,filesize($file)); fclose($fp); $base64 = base64_encode($picture); //echo $base64; $db = new Database(); $db->test($base64); } } } ?> <form action="test.php" method="post" enctype="multipart/form-data"> Select image to upload: <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="Upload Image" name="submit"> </form> 

Вот код функции, который я вызываю:

 function test($base64String){ if (mysql_query("update users set attribute1='$base64String' where id = '83'")){ echo "success"; }else{ mysql_error(); } } 

благодаря

/etc/mysql/my.cnf,

 wait_timeout = 3600 

а также

 max_allowed_packet = 128M 

и перезапустить

 sudo /etc/init.d/mysql restart 

Примечание. Почему вы храните аудиофайл в БД, вместо этого сохраняете его путь и сохраняете файл в системе