对于nginx+php的一些网站,上传文件大小会受到多个方面的限制,一个是nginx本身的限制,限制了客户端上传文件的大小,一个是php.ini文件中默认了多个地方的设置。所以为了解决上传文件大小限定的问题必须要做出多处修改。以下整理了几个地方。

max_execution_time = 300
max_input_time = 600

前面已经介绍过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.169it.com;
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

以上内容就是本文给大家叙述的有关通过修改配置真正解决php文件上传大小限制问题(nginx+php)的,希望大家喜欢。