首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法通过32位php将大文件(超过2 2GB)上传到2GB服务器上?

问有没有办法通过32位php将大文件(超过2 2GB)上传到2GB服务器上?
EN

Stack Overflow用户
提问于 2020-08-19 16:33:23
回答 2查看 319关注 0票数 0

我在运行Raspbian Lite的Raspberry Pi 4上设置了一个家庭服务器。我已经在上面建立了一个运行Apache和PHP的小型and服务器。我在这个web服务器上有文件上传选项,允许我和其他人通过html表单通过网页上传文件,该html表单转到处理文件上传、更新数据库等的PHP脚本。

这个服务器对于较小的文件非常有效,但是我最近尝试添加了一个大约2 2GB大小的文件。该网页将加载超过10分钟,然后给我一个“连接重置”错误。

我编辑了我的php.ini和apache2.conf来更改所有相关的选项,以允许大文件上传,增加超时等。经过多次搜索,我发现问题是我的服务器上的处理器是32位的,所以PHP也是如此。显然,32位PHP不适用于上传这种大小的文件。

我想过可能的解决方案,比如通过FTP直接从html表单上传,绕过http,或者在上传时以某种方式将文件分割成更小的部分,但我不知道从哪里开始。

有谁有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2020-08-19 17:53:55

似乎PHP有一个上传大小的限制,特别是在32位系统上,但是通过HTTP上传一个大文件(2 2GB)可能不是一个好主意,一个好的解决方案是使用PHP FTP extension functions。

票数 0
EN

Stack Overflow用户

发布于 2020-08-21 08:21:31

据我所知,文件的大小没有限制,你必须检查的是,upload_max_filesize和post_max_size都有一个至少允许2048MB的设置,如下所示:

代码语言:javascript
复制
upload_max_filesize = 2048M
post_max_size = 2048M

下一步是检查分配给PHP的内存限制是多少,它必须始终高于前两个值。因此,基本上您的服务器至少需要3或4 GB的RAM,因为您需要为PHP进程分配至少2049个或更多的RAM。

使用这一部分:

代码语言:javascript
复制
memory_limit = 2560M

这应该是可行的,但这也取决于您的服务器的配置和规格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63483042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档