mysqli не работает при загрузке большого файла - PullRequest
0 голосов
/ 11 марта 2019

У меня есть эта странная проблема, с которой я никогда не сталкивался. код работает нормально, когда я загружаю небольшой файл, но когда я загружаю файл larg (105 МБ), доза запроса не работает и дает мне этот вывод

Сервер MySQL ушел - 2006 ../uploads/sermons/2019.03.08-Bro-GK.mp3

$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);

1 Ответ

1 голос
/ 11 марта 2019

Похоже, вы столкнулись с тайм-аутом чтения, потому что загрузка занимает больше времени, чем скрипт сохраняет соединение открытым.Попробуйте установить значение MYSQLI_OPT_READ_TIMEOUT на что-то похожее на mysqli_options($conn, MYSQLI_OPT_READ_TIMEOUT, value_in_seconds);.Вам, вероятно, придется настроить $conn перед фактическим подключением, если вы столкнетесь с этой ошибкой https://bugs.php.net/bug.php?id=76703

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...