nginx php post限制,解决Nginx、Apache、Php上传大小限制

今天在提交一个比较大的blog时出现请求体过大的nginx错误,现在讲一系列解决过程记录下来。

1、nginx请求 413 Request Entity Too Large 错误

经过搜索,发现是nginx 的上传大小超限导致,解决方法如下

打开nginx主配置文件nginx.conf,一般在/usr/local/nginx/conf/nginx.conf这个位置,找到http{}段,修改或者添加代码如下复制代码

client_max_body_size 2m;

然后重启nginx,

代码如下复制代码

/etc/nginx/sbin/nginx -s reload2、第一步解决后php大小限制可能还会超限,需要进行设置

php.ini中的如下值的最大值差不多或者稍大,这样就不会因为提交数据大小不一致出现错误。代码如下复制代码

post_max_size = 2M

upload_max_filesize = 2M

3、如果内部使用Apache作为服务器的话,又可能被apache拦截掉

需要设置虚拟网站内的LimitRequestBody选项

4、也有可能由于提交数据较大导致php处理或者input超时,需要设置如下选项

php.ini:max_execution_time = 30 ;Maximum execution time of each script, in secondsphp.ini:max_input_time = 60 ;Maximum amount of time each script may spend parsing request data

php.ini:upload_max_filesize所上传的文件的最大大小。默认值2M。php.ini:memory_limit本 指令设定 了一个脚本所能够申请到的最大内存字节数,默认值8M。如果不需要任何内存上的限制,必须将其设为 -1。如果内存不够,则可能出现错误:Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)(一般导入数据库时,如果数据库太大,就会报错,改这个就可以)php.ini:post_max_size设定POST数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 upload_max_filesize。

5、以上全部设置完成基本就可以,最后一个错误可能是你服务器网站里的上传限制了,如果还超过大小设置一下网站上传限制就好

以上为解决过程,有如下参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值