如何增加apache上传最大文件限制

  • 来源:
  • 更新日期:2018-04-24

摘要:经常碰到同学们问我如何让自己的PHP网站可以大于2MB的文件呢?其实即使你将web程序的附件最大限制设置大了也是不行的,还需要对php进行配置才能解决。因为真正的原因是PHP限制了你最大只能上传2MB的文件。主要通过修改一下参数来解决。 upload_max_filesize - 没错就是这个,最大上传文件大小限制。你会发现此处默认为2M。 memory_limit - 单个脚

经常碰到同学们问我如何让自己的PHP网站可以大于2MB的文件呢?其实即使你将web程序的附件最大限制设置大了也是不行的,还需要对php进行配置才能解决。因为真正的原因是PHP限制了你最大只能上传2MB的文件。主要通过修改一下参数来解决。

timg (3).jpg

upload_max_filesize - 没错就是这个,最大上传文件大小限制。你会发现此处默认为2M。 memory_limit - 单个脚本可用最大内存,此设置可以防止设计有缺陷的PHP脚本占用所有的系统内存,如果不想限制单个脚本最大使用内存可以设置该值为-1(建议不要设置为-1)。 post_max_size - 设置递交数据最大大小。该设置也会影响到最大上传文件大小的配置,该值设置必须大于upload_max_filesize设置的值。通常情况下,memory_limit设置的值要比post_max_size的值大。

系统默认设置如下,所以只能上传2MB的附件了:

upload_max_filesize = 2M memory_limit = 128M post_max_size = 8M

以下下两种方法设置之后即可上传10MB的附件。

方法一:编辑php.ini。
编辑你的php.ini配置文件。(他可能在/etc/php.ini或者 /etc/php.d/cgi/php.ini或者 /usr/local/etc/php.ini)

vim /etc/php.ini

更改为如下配置(当然,此处只是一个例子,有可能你的memory_limit实际需求是64MB)。

upload_max_filesize = 10M memory_limit = 32M post_max_size = 20M

保存之后重启Apache服务。

service httpd restart

 

方法二:编辑.htaccess文件。
如果无法获取更改php.ini的权限(例如虚拟主机),可以通过创建或者编辑.htaccess来实现。在.htaccess中添加

php_value upload_max_filesize 10M php_value post_max_size 20M php_value memory_limit 32M

上传到网站服务器的根目录即可。