我正在使用laravel与voyager作为管理面板。我试图上传一个视频通过voyager媒体选择器与文件大小3GB,但每次我这样做,我得到以下消息:
第一个月
我把upload_max_filesize
和post_max_size
都改成了4G
,但还是遇到了同样的问题。
我试着在. htaccess中添加以下代码行php_value upload_max_filesize 4G
php_value post_max_size 4G
仍然是同一问题
我尝试将在vendor/laravel/sail/runtime/7.4/php.ini和vendor/laravel/sail/runtime/8.0/php.ini中找到的php.ini文件修改为以下内容:
[PHP]
upload_max_filesize = 4G
post_max_size = 4G
variables_order = EGPCS
我还是有同样的问题。
我还在public_html目录中创建了一个名为. user.ini的新文件,文件内容如下:
upload_max_filesize = 4G
post_max_size = 4G
我还是有同样的问题。
我真的被卡住了,不知道该怎么办,有人知道如何解决这个问题吗?
2条答案
按热度按时间f87krz0w1#
有几件事你需要做:
PHP更改
首先,您需要在PHP配置文件中增加上传文件的大小,您可以通过编辑
php.ini
文件并更改upload_max_filesize
和post_max_size
的值来实现。如果不知道
php.ini
文件的位置,可以创建一个名为info.php
的新文件并添加以下代码:然后,您可以在浏览器中访问
info.php
文件,它会显示您的php.ini
文件的位置。在PHP配置文件中增加上传文件的大小后,您需要重新启动Web服务器,然后再次访问
info.php
文件以确保更改已应用。Dropzone.js更改
Laravel Voyager媒体管理器使用Dropzone.js库来处理文件上传。因此,您需要在Dropzone定义中增加文件上传的大小。
Laravel Voyager媒体管理器中上传文件的默认大小为256MB。
为此,我们将把媒体管理器视图文件从Laravel Voyager包复制到我们的项目中。您可以通过运行以下命令来完成此操作:
resources/views/vendor/voyager/media
目录不存在,请创建该目录:manager.blade.php
文件从Laravel Voyager包复制到我们的项目中:现在,您可以打开
resources/views/vendor/voyager/media/manager.blade.php
文件并将maxFilesize
值设置为所需大小。847
行:在
dropzone
函数中添加一个新行,并将maxFilesize
值设置为所需的大小:保存文件,你就完成了。之后,到媒体管理器页面,做一个硬刷新,以确保该高速缓存被清除,并尝试上传一个大于默认大小的文件。
Source
93ze6v8z2#
由于这个问题还没有得到回答,我将分享一些知识,以供其他人将来参考。
有几个因素需要考虑。
1.在继续测试
dropzone.js
之前,请检查您的服务器配置是否允许4000M的上载(您可以测试正常的文件上载由于某些服务器(例如:nginx或其他)也有默认值,因此它们也可能限制您上传大文件。
1.修改上传限制值php.ini(看起来你已经完成了)。
1.检查assets文件夹中的
dropzone.js
设置,因为dropzone
有自己的配置。请在此处选择一个可能的答案:Dropzone.js - maxFilesize increase not working
1.确保将上述所有操作的超时时间增加到几分钟。
默认超时是30秒,如果你没有超快的互联网,这是不够的时间,所以需要增加超时设置为您的
server
,php
和dropzone.js
。最后,如果所有失败,你需要
Inspect Element
你的网络当你上传,它应该给予你一个想法是什么错误,以克服它。