欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

修改PHP配置文件上传大文件几种方法(apache/nginx)

程序员文章站 2022-06-15 07:53:08
...
在php.ini中如果我们不对 post_max_size,upload_max_filesize 这些参数进行修改,默认最多只能上传2MB的文件了,如果几十MB或更大的就无法上传了,下面我来介绍修改PHP配置文件上传大文件几种方法,希望对大家有点帮助呀

windows+apache+php环境

在apache最常见的PHP上传文件大小限制是通过 php.ini 配置文件定义的,通过修改以下三个字段的值,重新启用服务器端程序(如 apache),便可成功修改PHP上传文件的大小限制:

upload_max_filesize = 8M
post_max_size = 10M
memory_limit = 20M

具体配置如下

在php.ini里查找

代码如下 复制代码

max_execution_time

默认是30秒.改为

代码如下 复制代码

max_execution_time = 0

0表示没有限制

以上修改的是php上传文件中脚本执行超时时间

2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到php上传文件。
php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.

查找 post_max_size .改为

代码如下 复制代码

post_max_size = 150M

3. 很多人都会改了第二步.但php上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8M改为

代码如下 复制代码

upload_max_filesize = 100M

另外要说明的是在php文件上传中,post_max_size 大于 upload_max_filesize 为佳.

nginx+php上传文件大小配置修改


以前用php上传文件,先是修改php.ini的设置,前些日子服务器换了环境(采用nginx+php),今天突然发现稍大一点的文件不能上传了,纠结 半天,终于找到是nginx的client_max_body_size配置选项值造成的413错误。现在分享一下处理方法。
问题说明:
php.ini配置文件中upload_max_filesize设置为50M
post_max_size设置的值为100M
但是上传超过10兆的文件就会返回uploaderror 413错误。
服务器环境:
centos5.7 32位
nginx1.0.8
php5.2.17

解决方法:

1、如果你上传文件限制为50兆,则先修改php.iniupload_max_filesize 50M

代码如下 复制代码

post_max_size 100M

2、然后修改nginx配置文件中:
这个配置选项值默认是1m,可以增加到8m以增加提高文件大小限制,我这里直接修改为100了,具体情况可根据自己的需求设置。(参 考:client_max_body_size大小要和php.ini中的upload_max_filesize、post_max_size中的最大 值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。)

代码如下 复制代码
client_max_body_size 100m;