Php 上载大文件时,mysqli insert不起作用

Php 上载大文件时,mysqli insert不起作用,php,mysql,mysqli,Php,Mysql,Mysqli,我以前从未遇到过这个奇怪的问题。当我上传一个小文件时,代码运行良好,但当我上传一个大文件(105mb)时,查询不起作用,并给出这个输出 MySQL服务器已经消失-2006../uploads/sermons/2019.03.08-Bro-GK.mp3 您似乎遇到了读取超时,因为上载所花费的时间比脚本保持连接打开所花费的时间要长。尝试将MYSQLI\u OPT\u READ\u TIMEOUT的值设置为合适的值,如soMYSQLI\u选项($conn,MYSQLI\u OPT\u READ\u T

我以前从未遇到过这个奇怪的问题。当我上传一个小文件时,代码运行良好,但当我上传一个大文件(105mb)时,查询不起作用,并给出这个输出

MySQL服务器已经消失-2006../uploads/sermons/2019.03.08-Bro-GK.mp3


您似乎遇到了读取超时,因为上载所花费的时间比脚本保持连接打开所花费的时间要长。尝试将
MYSQLI\u OPT\u READ\u TIMEOUT
的值设置为合适的值,如so
MYSQLI\u选项($conn,MYSQLI\u OPT\u READ\u TIMEOUT,以秒为单位)。在实际连接之前,您可能必须设置
$conn
,以防遇到此错误

“当我上载大文件(105mb)时,查询不起作用”大文件上载与MYSQL错误无关。你需要增加上传文件的大小。
这是你得到的唯一错误吗?@devpro-为什么“MySQL服务器已经消失”与MySQL无关?在这个例子中,它的发生是由于文件大,错误与MySQL有关,但在这个例子中,没有必要修复任何与查询相关的问题。在本例中,只需检查文件大小及其对post的限制。我提到了大文件上传@PaulSpiegel@devpro-但它可能也与
上载\u max\u filesize
无关,因为上载没有失败。看起来mysql会话超时了。
$uploadDirectory = "../uploads/sermons/";
require '../includes/config.php'; // this contains the connection ($conn)
$errors = []; // Store all foreseen and unforseen errors here

$fileExtensions = ['mp3','wav']; // Get all the file extensions

$fileName = $_FILES['file']['name'];
$fileSize = $_FILES['file']['size'];
$fileTmpName  = $_FILES['file']['tmp_name'];
$fileType = $_FILES['file']['type'];
$fileExtension = explode('.',$fileName);
$fileExtension = end($fileExtension);
$fileExtension = strtolower($fileExtension);

$uploadPath = $uploadDirectory . basename($fileName);


    if (! in_array($fileExtension,$fileExtensions)) {
        $errors[] = "This file extension is not allowed. Please upload a mp3 or wav file";
    }



    if (empty($errors)) {
        $didUpload = move_uploaded_file($fileTmpName, $uploadPath);

        if ($didUpload) {

            $title = mysqli_real_escape_string($conn,$_POST["Title"]);
            $speaker = mysqli_real_escape_string($conn,$_POST["Speaker"]);
            $date = mysqli_real_escape_string($conn,$_POST["date"]);
            $date = date('Y-m-d', strtotime($date));
            $description = mysqli_real_escape_string($conn,$_POST["Description"]);
            $query = "Insert into `sermons` (`Title`,`Description`,`Speaker`,`Date`,`Link`) values('$title','$description','$speaker','$date','$uploadPath');";
            $result = mysqli_query($conn,$query) or die(mysqli_error($conn)." - ".mysqli_errno($conn)." ".$uploadPath);