Php HTTP POST大小限制为2GB
我有一个HTML表单,它使用PHP将一批批图像发布到服务器上,但我似乎找不到一些将用户帖子限制在2GB的dratted设置。文件将被罚款高达2GB,但在此之后,服务器将停止接受文件 发布的$\u FILES数组包含所有原始文件名,但是对于总大小超过2GB的图像以及之后的任何内容,Php HTTP POST大小限制为2GB,php,linux,apache,http,Php,Linux,Apache,Http,我有一个HTML表单,它使用PHP将一批批图像发布到服务器上,但我似乎找不到一些将用户帖子限制在2GB的dratted设置。文件将被罚款高达2GB,但在此之后,服务器将停止接受文件 发布的$\u FILES数组包含所有原始文件名,但是对于总大小超过2GB的图像以及之后的任何内容,$\u FILES['file']['size']值为0$\u文件['file']['tmp\u name']也为空 我已更改的设置: 我的vhost conf文件: <Directory /path/to/the
$\u FILES['file']['size']
值为0
<代码>$\u文件['file']['tmp\u name']也为空
我已更改的设置:
我的vhost conf文件:
<Directory /path/to/the/stuff>
# LimitRequestBody 0 # this didn't do anything
<Limit GET PUT POST>
Order Deny,Allow
Allow from my.ip.add.range
Deny from all
</Limit>
<IfModule mod_php5.c>
php_admin_value post_max_size 5000M
php_admin_value upload_max_filesize 200M
php_admin_value max_file_uploads 500
php_admin_value memory_limit 512M
</IfModule>
</Directory>
#LimitRequestBody 0#这没有任何作用
命令拒绝,允许
从my.ip.add.range允许
全盘否定
php_管理_值post_最大尺寸5000M
php\u管理员\u值上载\u最大\u文件大小为200M
php_admin_value max_file_上传500
php\u管理\u值内存\u限制512M
phpinfo()
的输出确认了所有这些设置
在相关php脚本的顶部:
ini\u集('max\u execution\u time',3000)代码>
这是在RedHat Enterprise Linux服务器上(cat/etc/RedHat release
->Red Hat Enterprise Linux服务器6.9版(圣地亚哥))
谷歌还有什么神秘的设置瞒着我吗
谢谢
编辑:
这些是100MB以上的主tif图像,我们有数百(数千?)个图像需要接收,因此将上传内容分成更小的块()是不可行的。我将拍摄约5GB的总作为一个折衷的限制,因为大多数批次将在或低于这
更新:
正如@TheRealJAG在评论中指出的,这是一个简单的磁盘使用问题。在一次大型上传过程中运行df
表明/tmp
达到100%(2027408个1-K块)的速度非常快
现在我只希望我们的管理员会让我们增加tmp存储空间
或者实际上我将更改脚本中的php/tmp设置(putenv('TMPDIR=/path/to/dir');
)
已解决:
我将这一行添加到vhost配置中:
php\u admin\u value upload\u tmp\u dir/path/with/more/memory/available
这是一个可由Apache用户写入的目录,这就是调用脚本的原因。请验证您没有耗尽存储空间。对于单个post请求,这是一个巨大的数据量!我会重新考虑并考虑将上传内容分成更小的部分。@TheRealJAG啊哈!我想就是这样!我试着上传一个我知道会超过2GB的文件,并执行了一系列的df
命令,该死的,/tmp
的速度越来越快。是的,/tmp
通常设置的磁盘空间很小。如果你自己的机器你可以重新分配更多的空间,如果你必须有一个管理员做这项工作,这可能是或不允许的df-m/tmp
将显示您当前的位置。祝你好运。2GB是最大值(签名为int32)。在什么地方烤的?