2

我有以下设置/etc/php/7.2/apache2/php.ini

max_execution_time = 300
max_file_uploads = 20
memory_limit = 32M
post_max_size = 18M
upload_max_filesize = 20M

但是,如果我上传大小超过 5M 的文件,我会收到以下消息:

给定的数据无效。

而当我放上 Dropzone 的完整错误响应时,我也可以看到这条消息:

该文件不得大于 5000 KB。

当我更改 Dropzone 选项maxFilesize时,它适用于低于 5M 的数字,但当它大于 5M 时,上传仍然限制为 5M。

此外,我的 .htaccess 文件中没有上传大小限制。

这个问题还能从哪里来?

=== 编辑 #1 ===

以下是df服务器上的结果:

Filesystem     1K-blocks    Used Available Use% Mounted on
udev              989880       0    989880   0% /dev
tmpfs             200340    2884    197456   2% /run
/dev/sda1       10291200 3673732   6167924  38% /
tmpfs            1001696       0   1001696   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs            1001696       0   1001696   0% /sys/fs/cgroup

=== 编辑 #2 ===

我在我的 Laravel 项目中创建了一个基本的上传页面,并且能够上传更大的文件(>5M),所以我的问题一定来自 Dropzone。

4

5 回答 5

1

首先:upload_max_filesize设置告诉单个上传文件的最大文件大小。然而,post_max_size告诉所有文件的允许最大大小是多少(准确地说是所有帖子字段)。

例如,如果要允许上传 10 个 10M 的文件,post_max_size则应至少为 10*10 = 100M。

还要确保您使用的是正确的 ini 文件。在您的网络浏览器中运行phpinfo()并检查加载ini文件的位置。您可能正在编辑您的 CLI ini 文件,这些文件可以是一组不同的文件。

通过运行,phpinfo()您可以验证您的设置是否已使用。

于 2018-02-04T12:34:23.773 回答
0

我的问题来自控制器,我还可以选择设置最大尺寸。

public function store(Request $request)
{
    $request->validate([
    'file' => 'required|file|max:10000|mimes:' . $this->getAllowedFileTypes(),
    'attachable_id' => 'required|integer',
    'attachable_type' => 'required'
    ]);
    ...
}
于 2018-02-02T02:56:23.910 回答
0

在 dropzone 选项中设置maxFilesize :

 <script>
      Dropzone.options.myDropzone = {
        maxFilesize: 500,
      }
</script>
于 2018-02-01T12:45:16.150 回答
0

在VirtualHost部分的 Apache 中设置限制最大请求正文大小:

#Set Max to 20MB 
<Location />
        LimitRequestBody 20971520
    </Location>
于 2018-02-01T12:54:47.670 回答
0

这可能发生在使用 Linuxtmp文件夹来存储图像以对其进行任何转换的库中,例如调整大小。因此,值得尝试更改 PHP 用于存储 tmp 文件的文件夹。

为此,您必须创建一个文件夹,例如/tmp-alt. 确保此文件夹具有在其中存储文件的适当权限。然后,在您的情况下,转到 PHP.ini,/etc/php/7.2/apache2/php.ini并更改/创建以下属性:

upload_tmp_dir = /tmp-alt

更改文件后,重新启动 Apache 并检查上传文件是否有效。

于 2018-02-01T17:18:15.293 回答