经常碰到同学们问我如何让自己的PHP网站可以大于2MB的文件呢?其实即使你将web程序的附件最大限制设置大了也是不行的,还需要对php进行配置才能解决。因为真正的原因是PHP限制了你最大只能上传2MB的文件。主要通过修改一下参数来解决。
- upload_max_filesize - 没错就是这个,最大上传文件大小限制。你会发现此处默认为2M。
- memory_limit - 单个脚本可用最大内存,此设置可以防止设计有缺陷的PHP脚本占用所有的系统内存,如果不想限制单个脚本最大使用内存可以设置该值为-1(建议不要设置为-1)。
- post_max_size - 设置递交数据最大大小。该设置也会影响到最大上传文件大小的配置,该值设置必须大于upload_max_filesize设置的值。通常情况下,memory_limit设置的值要比post_max_size的值大。
系统默认设置如下,所以只能上传2MB的附件了:
|
以下下两种方法设置之后即可上传10MB的附件。
方法一:编辑php.ini。
编辑你的php.ini配置文件。(他可能在 /etc/php.ini 或者 /etc/php.d/cgi/php.ini 或者 /usr/local/etc/php.ini)
|
更改为如下配置(当然,此处只是一个例子,有可能你的memory_limit实际需求是64MB)。
|
保存之后重启Apache服务。
|
方法二:编辑.htaccess文件。
如果无法获取更改php.ini的权限(例如虚拟主机),可以通过创建或者编辑.htaccess来实现。在.htaccess中添加
|
上传到网站服务器的根目录即可。