前面已经介绍过apache+php下如何解决php文件上传大小限制问题。那么对于nginx+php网站,与apache+php下如何解决php文件上传大小限制问题不同的就是nginx本身的限制,限制了客户端上传文件的大小,这里以nginx为例说明nginx+php下如何解决这个问题。
1.nginx配置项修改
修改/usr/local/nginx/conf/nginx.conf 文件,查找 client_max_body_size 将后面的值设置为你想设置的值。比如:
location ~ .php$ {
root /home/www/htdocs;
fastcgi_pass www.;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/htdocs$fastcgi_script_name;
include fastcgi_params;
client_max_body_size 10m;
#客户端上传文件大小设为10M
client_body_temp_path /home/www/nginx_temp;
#设置临时目录
}
2.php配置项修改
还需要根据实际情况来修改php.ini配置文件中的max_execution_time(php页面执行最大时间)、 max_input_time(php页面接受数据最大时间)、memory_limit(php页面占用的最大内存)、upload_max_filesize和post_max_size等5个参数。
修改php.ini配置文件
upload_max_filesize = 20M
post_max_size = 30M
memory_limit = 256M
如果文件过大,会出现时间问题,必要的话,做如下修改:
max_execution_time = 300
max_input_time = 600