3

我已将在 Plesk/apache 上运行的 uploadify 设置为 FastCGI 上传到文档根目录下方的上传文件。这似乎适用于小于 1MB 的文件,但会在任何更大的文件上创建 ERROR 500。

$(function() {


var idx=$('.useri').val();
$('#file_upload2').uploadify({
    'multi'    : false,
    'swf'      : 'images/uploadify.swf',
    'uploader' : 'admin_includes/uploadify.php',
    'formData'  : {'user_id': idx},
    'fileSizeLimit' : '10MB',
    // Put your options here
    // Some options
    'onUploadSuccess' : function(file, data, response) {
        if(data==2)
        {
            alert("File Extension needs to be either .docx, .doc or .pdf");
        }
        else
        {
            var data_split=data.split("|");
            $('.title_holder').fadeIn(200);
            $('.upload_hider').show();
            $('.added_file').html("");
            $('.message12').html('<p class="added_file" data-file2='+data_split[1]+'>'+data_split[0]+' Successfully Uploaded.</p>');

        }
    }
});
});

我还设置了 php.ini 如下

safe_mode = Off
upload_tmp_dir /tmp
upload_max_filesize = 40M
post_max_size = 40M

这似乎也不起作用。有什么我遗漏或似乎做错了什么吗?

4

3 回答 3

2

尝试将sizeLimit选项设置为

'sizeLimit': 5000000000

此外,作为建议,您可以尝试在您的 uploadify 调用中订阅 onError 处理程序。像这样,在onUploadSuccess处理程序之后......

onError: function(a, b, c, d) {
    if (d.status == 404) alert('Could not find upload script.');
    else if (d.type === "HTTP") alert('error ' + d.type + ": " + d.status);
    else if (d.type === "File Size") alert(c.name + ' ' + d.type + ": " + d.status);
    else alert('error ' + d.type + ": " + d.text);
}​
于 2012-12-12T15:54:53.767 回答
1

感谢您的帮助,但我似乎已经解决了这个问题。我在这个帖子中没有说的是我的服务器安装了 Plesk 10.3.1。这个版本的 Plesk 似乎将服务器配置中的 maxRequestLen 覆盖为 128Kb 之类的大小。

解决方案是将其重置为 1GB(正常默认大小)或 /usr/local/psa/admin/conf/templates/default/domain/domainVirtualHost.php 或 /etc/httpd/conf.d/fcgid 中所需的大小。 conf 并重新启动服务器。

据我所知,未来版本的 Plesk 没有这个问题。

于 2013-01-06T10:00:01.123 回答
0

您可能会收到与 PHP 配置相关的错误。此外upload_max_filesizepost_max_size,您应该具有以下值:

max_execution_time
max_input_time

两者都定义了脚本的最长生命周期和脚本在接受输入时应该花费的时间。

于 2013-01-06T10:04:29.410 回答