最近在做给博客添加上传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的配置
我们可以修改client_max_body_size配置,具体如下: server{
listen 80;
server_name *. ;
client_max_body_size 50M;
......
}
三、启用
修改上面的配置之后是不能直接生效的,我们需要重启php-fpm和 iteblog# /etc/init.d/php-fpm reload
重新载入 php-fpm:[17-Aug- 22:21:07] NOTICE: configuration file /etc/php-fpm.conf test is successful [确定]
iteblog# /usr/sbin/nginx -s reload
或者
/usr/sbin/nginx -c /etc/nginx/nginx.conf