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