最近在做给博客添加上传PDF的功能,但是在测试上传文件的过程中遇到了​​413 Request Entity Too Large​​错误。不过这个无错误是很好解决的,这个错误的出现是因为上传的文件大小超过了Nginx和PHP的配置,我们可以通过以下的方法来解决:


文章目录


一、设置PHP上传文件大小限制

  PHP默认的文件上传大小是2M,我们可以通过修改php.ini里面的以下几行来增加上传文件大小的限制:


​file_uploads = on​​​​upload_max_filesize = 50M ​​​​post_max_size = 50M​​​​memory_limit = 20M​​​​upload_tmp_dir = ​​​​/tmp​


  file_uploads参数的含义就是允许上传文件;upload_max_filesize 即允许上传文件大小的最大值。默认为2M;post_max_size 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值,默认为8M。

二、设置Nginx的配置

  我们可以修改​​nginx​​​.conf,在server里面添加​​client_max_body_size​​配置,具体如下:


​server{​​​​    ​​​​listen 80;​​​​    ​​​​server_name *.iteblog.com iteblog.com;​​​​    ​​​​client_max_body_size 50M;​​​​    ​​​​......​​​​}​


三、启用

  修改上面的配置之后是不能直接生效的,我们需要重启​​php-fpm​​​和​​nginx​​,具体如下:


​iteblog​​​​# /etc/init.d/php-fpm reload​​​​重新载入 php-fpm:[17-Aug-2015 22:21:07] NOTICE: configuration ​​​​file​​​​/etc/php-fpm​​​​.conf ​​​​test​​​​is successful  [确定]​


​iteblog​​​​# /usr/sbin/<span ><a href="​​https://www.iteblog.com/archives/tag/nginx/​​" title="" target="_blank" data-original-title="View all posts in nginx">nginx</a></span> -s reload​


​或者​​​​ ​​ 

​/usr/sbin/nginx​​​​-c ​​​​/etc/nginx/nginx​​​​.conf​