Laravel PHP - 在尝试上传文件时忽略upload_max_filesize

时间:2018-02-09 12:26:17

标签: php laravel apache laravel-5

我在自己的服务器上有一个带Laravel的应用程序。我已经构建了一个带有输入文件上传的页面,我的服务器配置为接受1MB的最大文件大小。当我将请求发送到我的控制器时,即使文件低于或大于1MB,上传也会启动并返回OK 200状态。

我已使用以下设置配置php.ini

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 1M


; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 500M

如果文件大于500MB或所有上传的文件都大于500MB,由于我的PostTooLargeException配置,我得到post_max_size。我不知道为什么我从post_max_size而不是upload_max_filesize获得例外。另外,如果这与Laravel或我的PHP有关,我不会这样做,但是我已经在upload_max_filesize配置中测试了多个值,每次我应用新配置时仍然无法正常工作时重新启动HTTPD服务守护程序

我找不到任何有关它引用Laravel错误/错误甚至PHP错误/错误的信息。

phpinfo()来电正确显示信息,但无效。我的示例代码如下:

<html>
<body>
...
    <div class="col-sm-8 col-xs-12">
        <div>
            <input type="file" id="file-upload" name="file-upload" />
        </div>
    <div class="col-sm-4 col-xs-12">
        <div>
            <button type="button" class="btn btn-success" data-toggle="fileUpload">Upload</button>
        </div>
    </div>
...
<script>
$('*[data-toggle="fileUpload"]').on('click', function() {
    var file = $('#file-upload[name="file-upload"]').prop('files')[0];
    var formData = new FormData();
    formData.append('file', file);
    formData.append('_token', $('meta[name="csrf-token"]').attr('content'));
    $.ajax({
        url: '/upload',
        method: 'POST',
        dataType: 'json',
        contentType: false,
        processData: false,
        cache: false,
        data: formData,
        success: function(data, jqXHR, status) {
            console.log(data);
        },
        error: function(jqXHR, status, error) {
            console.log(error);
        },
    });
});
</script>
</body>
</html>

服务器端控制器代码什么都没有,只有return true;

如果您需要任何进一步的信息,请与我们联系。

当前设置:Laravel 5.4,PHP 7.0

祝你好运, d。

0 个答案:

没有答案