我在运行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,或者在上传时以某种方式将文件分割成更小的部分,但我不知道从哪里开始。
有谁有什么想法吗?
发布于 2020-08-19 17:53:55
似乎PHP有一个上传大小的限制,特别是在32位系统上,但是通过HTTP上传一个大文件(2 2GB)可能不是一个好主意,一个好的解决方案是使用PHP FTP extension functions。
发布于 2020-08-21 08:21:31
据我所知,文件的大小没有限制,你必须检查的是,upload_max_filesize和post_max_size都有一个至少允许2048MB的设置,如下所示:
upload_max_filesize = 2048M
post_max_size = 2048M下一步是检查分配给PHP的内存限制是多少,它必须始终高于前两个值。因此,基本上您的服务器至少需要3或4 GB的RAM,因为您需要为PHP进程分配至少2049个或更多的RAM。
使用这一部分:
memory_limit = 2560M这应该是可行的,但这也取决于您的服务器的配置和规格。
https://stackoverflow.com/questions/63483042
复制相似问题