我设置了fine-uploader并创建了一个PHP服务器处理程序,该处理程序正在实例化qqfileuploader.php。一切都很好,直到我尝试上传大文件。高达 600-700 MB 效果很好,现在我尝试了一个 909 MB 的文件:
.log:
FineUploader 3.8.2] Sending upload request for 3
它正在上传,但是当进度条达到 100% 时,它会从 0% 再次开始。然后它显示"正在处理......",然后再次显示进度条。过了一会儿:
日志:
[FineUploader 3.8.2] xhr - server response received for 3
[FineUploader 3.8.2] responseText =
[FineUploader 3.8.2] Received response status 0 with body:
[FineUploader 3.8.2] Error when attempting to parse xhr response text (Unexpected end of input)
在我的本地机器上,即使使用相同的文件,它也可以工作。只有在我的虚拟主机上完成时,问题才会出现。post_max大小和上传文件大小设置正确。我还能做什么?
这是我的服务器端上传处理方法:
public function doUpload()
{
$uploader = new qqFileUploader('uploads');
$uploader->allowedExtensions = array();
$uploader->sizeLimit = 1200 * 1024 * 1024; // 1.2GB
$uploader->inputName = 'qqfile';
$uploader->prefix = $_SESSION['identifier']; //file prefix
$uploader->chunksFolder = 'chunks';
$result = $uploader->handleUpload('uploads');
$result['uploadName'] = $uploader->getUploadName();
header("Content-Type: text/plain");
echo json_encode($result);
}
您需要
为以下 php.ini 设置设置提供适当的值:
- max_input_time(不是max_execution_time!
- upload_max_filesize
- post_max_size
也许
memory_limit
来源:在 PHP 中文件上传会超时吗?来自 @Ionuț G. Stan