php上传大文件失败怎么办

  • 来源:网络
  • 更新日期:2020-07-27

摘要:php上传大文件失败的解决办法:首先打开“php.ini”文件;然后查找“post_max_size”,并修改上传大小限制;接着查找“file uploads”,并修改上传开关限制;最后修改上传临时文件限制

php上传大文件失败的解决办法:首先打开“php.ini”文件;然后查找“post_max_size”,并修改上传大小限制;接着查找“file uploads”,并修改上传开关限制;最后修改上传临时文件限制即可。

推荐:《PHP教程》

php大文件上传失败的原因及解决方法

php.ini无法上传大文件解决办法

1、打开php.ini

2、查找post_max_size:(修改上传大小限制)

表单提交最大数值,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的默认为8m,设置为自己需要的值,此参数建议要设置比upload_max_filesize大一些

3、查找file uploads:(修改上传开关限制)

是否允许通过http上传文件的开关,确认file_uploads = on

4、查找upload_tmp_dir:(修改上传临时文件限制)

文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹如果系统报错提示有“xxx临时目录xxx”的话,这个目录就需要你来设置一个有效目录,没报错就不用管

5、查找upload_max_filesize:(修改上传大小限制)

允 许上传文件大小的最大值,默认为2m,设置为自己需要的值此参数建议不要超过post_max_size值,因为它受控于post_max_size值 (就算upload_max_filesize设置了1g,

而post_max_size只设置了2m时,大于2m的文件照样传不上去,因为它受控于 post_max_size值)

6、如果要上传大于8m的文件,还需要对下面的参数也进行设置:(修改上传时间限制)

查找max_execution_time = 600 ;每个php页面运行的最大时间值(秒),默认30秒

max_input_time = 600 ;每个php页面接收数据所需的最大时间,默认60秒

memory_limit = 8m ;每个php页面所需要的最大内存,默认8m

nginx上传大文件解决办法

1.client_body_buffer_size 尽量设置的大点,这是基于速度的考虑,如果因为设置的过小,导致上传的文件老要写磁盘,那速度就太慢了。

2.client_body_temp_path 路径要有可写权限,这个是明显的错误了。改正了就好

3.client_max_body_size 设置上传文件的最大值,这个是基于安全的考虑,我们认为正常用户不会或者基本不会上传太大的文件。

可以设置为client_max_body_size 100m; 或者按照自己的业务来设置这个值。