Nginx的上传参数问题,需要特别注意client_max_body_size这个参数,否则会中断在nginx的请求中,在php中无法log到访问的.
我们使用ngnix做web server的时候,nginx对上传文件的大小有限制。
当超过大小的时候会报413错误。
这个时候我们要修改nginx参数。
nginx -s reload 即可。
当超过大小的时候会报413错误。
这个时候我们要修改nginx参数。
sudo vim /etc/nginx.conf 在http段里面添加:
例如:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /home/wwwdocs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/wwwdocs$fastcgi_script_name;
include fastcgi_params;
client_max_body_size 35m; #客户端上传文件大小设为35M
client_body_temp_path /home/wwwinx_temp;
#
location ~ \.php$ {
root /home/wwwdocs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/wwwdocs$fastcgi_script_name;
include fastcgi_params;
client_max_body_size 35m; #客户端上传文件大小设为35M
client_body_temp_path /home/wwwinx_temp;
client_max_body_size 10m; 添加完成之后,保存退出。
nginx -s reload 即可。
修改了php.ini文件如下:
参数 设置 说明
1、file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开
2、upload_tmp_dir – 文件上传至服务器上存储临时文件的地方,如果没指定就会用系
统默认的临时文件夹
3、upload_max_filesize 8m 望文生意,即允许上传文件大小的最大值。默认为2M
4、post_max_size 8m 指通过表单POST给PHP的所能接收的最大值,包括表单里的所
有值。默认为8M
说明:一般地,设置好上述四个参数后,在网络正常的情况下,上传<=8M的文 件 是不成问题,但如果要上传>8M的大体积文件,只设置上述四项还一定能行
的通。除非你的网络真有100M/S的上传高速,否则你还得继续设置下面的参数。
5、max_execution_time 600 每个PHP页面运行的最大时间值(秒),默认30秒
6、max_input_time 600 每个PHP页面接收数据所需的最大时间,默认60秒
7、memory_limit 8m 每个PHP页面所吃掉的最大内存,默认8M
上面的红色字体部分是我在自己的服务器所更改的内容。