小编Dip*_*ics的帖子

4GB HTTP文件上传使用jQuery-File-Upload,Apache和PHP

这个问题似乎与臭名昭着的2GB限制直接相关,我不确定这个问题是否是32位PHP问题.我已经看到与HTTP相关的注释不是为这样的大文件设计的.但是,在决定对迄今为止已证明有效的方法进行任何根本改变之前,我宁愿用尽这个方向.正如标题所示我需要上传> 2GB文件,迄今为止最大的3.8GB.我有一个使用jQuery-file-upload构建的表单,在这些大文件启动之前发送任何文件(都小于2GB)都没有问题.3.8GB一个从File-Upload上传可能需要5分钟,进度条完成100%.但是,上传后报告的错误是类型1,表明文件大小限制已被破坏.

如果我在上传期间监视服务器上的磁盘使用情况,它将具有以下示例属性:在上载之前,磁盘使用率为30%,随着上载继续,此使用量增加,31%,32%.... 45%,46%等等 但是,在2GB点附近,当客户端/浏览器文件上传继续时,磁盘使用率会下降到30%.当服务器磁盘使用量停止增加时,客户端可能只占上载的60%.然而,客户端仍然继续100%但未被服务器接受,因为磁盘状态永远不会减少30%.

我运行64Bit Ubuntu(最新)与Apache/2.2.22(Ubuntu)和PHP版本5.3.10-1ubuntu3.2经过多天的开关搜索解决方案我仍然无法在更改后上传3.8GB文件这么多设置.我将列出下面的那种变化,但在这个阶段我认为它可能是一个32位的PHP问题,所以如果有人可以建议值得关注的链接或解决方案值得尝试,我会很感激.

在Apache2中,我设置了以下内容:

- apache2.conf I've set Timeout to 900
- httpd.conf I've set LimitRequestBody to 0
- .htaccess in the file upload directory I've set:
    - LimitRequestBody to 4939212390
    - php_value upload_max_filesize 4831838208
    - php_value post_max_size 4939212390
Run Code Online (Sandbox Code Playgroud)

在php.ini中我设置了以下内容:

- UPLOAD_MAX_FILESIZE 4831838208
- POST_MAX_SIZE 4939212390
- max_execution_time 120
- max_input_time 60
- memory_limit 128M
Run Code Online (Sandbox Code Playgroud)

如果我在服务器上运行以下操作,似乎PHP没有32位问题,但我不确定在这个阶段.

php -r "echo PHP_INT_MAX;"
9223372036854775807
Run Code Online (Sandbox Code Playgroud)

正如我所提到的,任何想法都将不胜感激.

更新:

已经解决了这个问题,所以感谢@BogdanBurim建议回归基础方法:

我已设法通过HTTP上传3.8 GB文件,并具有以下设置:

在Apache2中,我设置了以下内容:

- apache2.conf I've set Timeout to 900
- httpd.conf …
Run Code Online (Sandbox Code Playgroud)

php file-upload apache2 jquery-plugins

14
推荐指数
1
解决办法
1万
查看次数

AWS VPC DNS主机名打开或关闭

我开始使用将DNS主机名设置为关闭的非默认VPC.我需要打开它,以便我可以在VPC中添加RDS实例.我知道我可以从VPC控制台执行此操作,但我的问题是这个更改的含义是什么?这可能对已经起作用的东西产生什么影响,是否会导致元素停止工作?基本上,这个VPC足够简单,有3个子网,有3个EC2实例Web服务器工作,每个服务器都有一组弹性IP地址,分配给它们有不同的私有IP地址,因为所有机器都运行少量不同的网站.

任何建议表示赞赏 谢谢

dns amazon-web-services amazon-vpc

5
推荐指数
1
解决办法
1309
查看次数