Отмена прекращения загрузки с ошибкой «Файл пуст»

Я использую не-jQuery зависимый FineUploader с примером сценария ошибок PHP, чтобы загрузить файл. Включены и возобновляются перезапуск. Вся обработка выполняется из сценариев примера PHP без каких-либо изменений.

Успешно работает в тестовых файлах до ~ 90 мб, однако при попытке загрузить файл 329mb загрузка начинается, а затем прерывается с ошибкой «Файл пуст».

Из моей папки chunk я вижу, что перед ошибкой было загружено примерно 77 мб файла. Попытки возобновить работу не работают и не увеличивают размер каталога фрагментов.

Окружающая среда: LAMP, Centos 6.3.

post_max_size и upload_max_filesize установлены в 2048M в php.ini.

Любое указание на причину этого? С удовольствием предоставляем дополнительную информацию.

Код загрузчика:

 <div id="failed-fine-uploader"></div> <script> function createUploader() { var faileduploader = new qq.FineUploader({ element: document.getElementById('failed-fine-uploader'), request: { endpoint: 'example.php' }, chunking: { enabled: true }, resume: { enabled: true }, failedUploadTextDisplay: { mode: 'custom', maxChars: 40, responseProperty: 'error', enableTooltip: true } }); } window.onload = createUploader; </script> 

EDIT: Информация о консоли:

 [17:31:09.314] [FineUploader] Processing 1 files or inputs... [17:31:09.315] [FineUploader] Resuming CentOS-6.3-x86_64-minimal.iso at partition index 40 [17:31:09.316] [FineUploader] Sending chunked upload request for item 4: bytes 80000001-82000000 of 346011648 [17:31:09.504] [FineUploader] xhr - server response received for 4 [17:31:09.504] [FineUploader] responseText = {"error":"File is empty.","uploadName":null} 

Solutions Collecting From Web of "Отмена прекращения загрузки с ошибкой «Файл пуст»"

Если вы испытываете эту (весьма бесполезную) ошибку, это может быть несколько вещей, поэтому я бы посоветовал проверить их все. Этот ответ находится в контексте «очень больших» файлов, где эта ошибка возникает.

В вашем php.ini проверьте, чтобы:

post_max_size устанавливается достаточно высоко, чтобы покрыть размер файла (макс. 2G)

upload_max_filesize установлен достаточно высоко, чтобы покрыть размер файла (макс. 2G)

То, что post_max_size больше, чем upload_max_filesize (как рекомендовано http://www.php.net/manual/en/ini.core.php#ini.post-max-size ), и что memory_limit больше, чем post_max_size . Любой из этих факторов может привести к тому, что $_FILES возвращение $_FILES пустым и выведет ошибку из загрузки.

Другие вещи, чтобы попробовать в php.ini:

То, что max_execution_time увеличивается, чтобы принять во внимание длительность загрузки (большие файлы обычно занимают больше времени, чем значение по умолчанию 30), а также увеличивается max_input_time .

Вам также может потребоваться изменить ваш httpd.conf с LimitRequestBody директивы LimitRequestBody поскольку это может быть переопределением всего, что указано в php.ini. Это указано в байтах и ​​может быть указано либо непосредственно в httpd.conf, либо в файле .htaccess (при условии, что у вас есть Override priviliges). Вы также можете указать это для каждого каталога (для обеспечения безопасности) следующим образом.

 <Directory "/var/www/myuploaddir/"> LimitRequestBody 1073741824 </Directory> 

Наконец, также убедитесь, что у вас есть достаточное временное и не временное хранилище для загружаемого файла. Пакет не улавливает ошибки «вне пространства».