前几天上传动态gif图片,图片大小是2.2M。上传的时候修改了php.ini上传配置项的上传大小,结果上传图片显示http错误,网查看了一下原因,是因为我的nginx服务器,默认上传大小是1M。
以下分别修改nginx和php的配置
nginx配置
在你的服务器的nginx.conf文件中的http{ }部分添加 client_max_body_size 50m;
http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 50m;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
PHP配置修改
upload_max_filesize = 8M //允许上传文件的最大值
//当然如果你指改了这个也没什么鸟用,还要改下个参数
//因为我在上传图片的时候发现最大值变成了post_max_size的值了
//必须两个都要改
post_max_size = 8m ;
//其他相关配置
memory_limit = 32m ;//每个PHP页面所吃掉的最大内存,默认8M 我的32M
file_uploads = on ;//是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir ;//文件上传存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
//如果文件执行过长可能还需要设置一下执行最大时间
也可以在PHP脚本里设置写入函数 set_time_limit(0);