PHP: POST Content-Length of xxx bytes exceeds the limit of 8388608 bytes

更新日期: 2018-08-13 阅读次数: 10512 分类: PHP

用户上传了 4 个附件,每个小于 5M,但是总大小超过了 15 M。

在 Nginx 日志中找到了如下错误信息,还没有到 Laravel 日志那一层。

2018/08/13 10:14:38 [error] 8326#8326: *11432788 FastCGI sent in stderr: "PHP message: PHP Warning: POST Content-Length of 14424838 bytes exceeds the limit of 8388608 bytes in Unknown on line 0" while reading response header from upstream

解决方法,修改 php.ini

  • upload_max_filesize 用于限制用户上传单文件的大小
  • post_max_size 用于限制 POST 请求 body 的大小

所以,如果用户会同时上传多个附件,就需要设置 post_max_size 为 upload_max_filesize 的 N 倍大。

参考

https://stackoverflow.com/questions/11719495/php-warning-post-content-length-of-8978294-bytes-exceeds-the-limit-of-8388608-b

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式