通过修改配置真正解决php文件上传大小限制问题(nginx+php)

对于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 将后面的值设置为你想设置的值,比如:

  1. location ~ \.php$ {
  2. root /home/www/htdocs;
  3. fastcgi_pass www.169it.com;
  4. fastcgi_index index.php;
  5. fastcgi_param SCRIPT_FILENAME /home/www/htdocs$fastcgi_script_name;
  6. include fastcgi_params;
  7. client_max_body_size 10m;
  8. #客户端上传文件大小设为10M
  9. client_body_temp_path /home/www/nginx_temp;
  10. #设置临时目录
  11. }

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)的,希望大家喜欢。